JavaScript学习总结

1.javascript

1. 
hello
2.
*附加.JavaScript的执行原理:当客户端向服务器端请求某个页面时,服务器端将整个页面中包含JavaScript的脚本代码作为响应内容,发送回客户端机器,客户端浏览器根据发回的网页文件从上往下逐行读取并解析其中的html或者脚本代码。

◦JavaScript脚本代码是从服务器端下载到客户端,然后在客户端执行,它不占用服务器端的CPU等资源。因此,通过在客户端执行脚本代码,分担了服务器的任务,从而间接地提升了Web服务器的性能。
.JavaScript组成
◦ECMAScript:JavaScript语法核心。
◦DOM:文档对象模型(Document Object Model),提供访问和操作网页内容的方法和接口。
BOM:浏览器对象模型(Browser Object Model),提供与浏览器交互的方法和接口

BOM是浏览器对象模型的简称
◦一个完整的BOM主要包括window、history、location和document等对象,其中window对象是整个BOM的顶层对象。各个对象所处位置及其关系如下图所示:

BOM中,整个对象的层次关系如下图:

DOM概述
与BOM关注浏览器的整体不同,DOM(Document Object Model)只关注浏览器所载入的文档。DOM把html文档看成由元素、属性和文本组成的一棵倒立的树。

可以把html文档中的每个成分看成一个节点,所以DOM的核心操作是查看节点、创建和增加节点以及删除和替换节点。节点的特点如下:
◦1. 整个文档是一个文档节点;
◦2. 每个HTML标签是一个元素节点;
◦3. 包含在HTML元素中的文本是文本节点;
◦4. 每个HTML属性是一个属性节点;
◦5. 注释属于注释节点;
◦6. html文档中的节点彼此间都存在关系,如一张家族谱。

JavaScript学习总结_第1张图片
JavaScript学习总结_第2张图片
JavaScript学习总结_第3张图片
JavaScript学习总结_第4张图片
在这里插入图片描述

2.数据类型,变量


1. typeof方法用来判断变量的类型
五种简单数据类型,也称为基本数据类型
number,string,boolean(true/false),null,undefind
alert(typeof(no1));
JavaScript中,整数、小数都是number。
对未初始化的变量及未声明的变量使用typeof运算符均会返回undefined。
还有一种复杂数据类型——object对象类型
var obj = new Date();
document.write(typeof (obj));//object
–null是空类型,表示一个变量已经有值,但值为空对象,使用typeof检测时会返回object。
var obj=null;
document.write(typeof obj);//object
2. 变量:在程序运行中其值可以变化的一个标识符
         1:在JavaScript中变量统一的使用var来声明
          2:变量的类型是有其赋的值来决定的
先声明变量再赋值
var是声明变量的关键字。给变量命名时,要遵守如下规则:
     (1)第一个字符必须是一个字母、下划线(_)或一个美元符号$。
     (2)后面的字符可以是字母、下划线、美元符号或数字。
     (3)区分大小写。
     (4)不能与关键字同名 ,如while、for和if等。
3.var通常是不建议省略的,不同的浏览器对齐解释会有不同效果

3.JavaScript运算符

1.//算术运算符(+,-,*,/,%,++,--)
2.//简化运算在JavaScript不允许是使用
   //document.write("no1+=no2");=》//no1 = no1 + no2;
   //document.write(parseInt(no1)+=parseInt(no2));
3. document.write(++no1);//8 //自增符号在前,则先自运算,在做其他操作
   document.write(no1--);//8 //自增符号在后,则先做其他操作,再做自运算
4. //比较运算符(>,<,>=,<=,==,!=)
5.//逻辑运算符(||,&&,!)
// ^表示异或关系,相同则为假,不同则为真 

4.选择结构

1.if单分支选择结构
alert(“你的女神是谁呀?”);
var name = prompt();
if(name == “刘亦菲”){
alert(‘哎,下辈子再说吧’)
}
2.if双分支结构
3.//if的多分支结构
alert(“你的女神是谁呀?”);
var name = prompt();
if(name == “刘亦菲”){
alert(‘神仙姐姐’);
}else if(name == “章泽天” || name == “刘亦菲”){
alert(‘奶茶妹妹’);
}else{
alert(‘注定天煞孤星’);
}
4.switch的语法结构如下:

5.if-else结构多用于区间值比对
switch-case结构多用于等值比对,其效率相对较高

JavaScript学习总结_第5张图片

5.循环结构

1.var i = 1;//循环的起始值
	while(i<=10){//循环的条件
		 alert("我好帅!");
		 i++;//循环变量的迭代
	}
2.//do-while循环最大的特点,是先执行一次循环体
	//然后在判断循环条件是否成立,如果成立则继续循环,否则跳出
	/*
	var i=1; //起始变量
	do{
		alert("我好帅");
		i++; //变量迭代
	}while(i<=10); //循环条件
3.for(起始变量;循环条件;变量迭代){
			//循环操作
	//}

6.调用函数

1.alert("请输入矩形的长")
	var height = prompt();
	alert("请输入矩形的宽")
	var width = prompt();
	//调用getArea函数,直接编写函数的名字,传入函数需要的参数(实参);
	getArea(height,width);
	//编写getArea函数:完成一项具体工作的流程
	//关键字function
	//函数名getArea
	//形参(height,width)参数前无需添加var
	function getArea(height,width){
		var result = height*width;
		document.write("矩形的面积是"+result);
	}
2.arguments调用函数时,将入参封装成的数组结构,length是这个数组的长度属性
		function getTotal(){ 
			var count = 0;//人数
			var sum = 0;//金额
			count = arguments.length;
			for(var i = 0;i

7.返回值!

1.  
	矩形的面积为:
	   
	

8.作用域

1.//声明函数外的变量,叫做全局变量
		var width = 20;
		var height = 10;
		function getArea(){
//声明在函数里,或者判断流程,循环流程中的变量,叫做局部变量
			alert("请输入矩形的宽度");
			var width = prompt();
			alert("请输入矩形的高度");
			var height = prompt();
			document.write("矩形的面积是:");
			document.write(width*height);
//在函数内部(局部环境),默认使用的是局部变量
		}
		getArea();
		document.write("矩形的面积是:");
		document.write(width*height);
//在全局环境中,不能使用局部变量

9.系统函数

1.var no1 = 20;
	   var no2 = " 7 7 ";
	   var no3 = "l3221 ";
	   var no4 = no1+no2;
	   //alert(isNaN(no1));//false
	   //alert(isNaN(no2));//false
	   //alert(isNaN(no3));//true
	   //alert(isNaN(no4));//false
	   //isNaN()判断当前变量是不是个数字
	   //trim()去掉字符串两边的空格
	   alert(no2.trim().length);
2.parseInt
	parseInt(string) 
	字符串 结果
	“150cats” 150
	“cats” NaN
	“6” 6
	“-6” -6
	“6.56” 6
3.parseFloat
	parseFloat(string) 
	字符串 结果
	“route66.5” NaN
	“8.5dogs” 8.5
	“6” 6
	“6.56” 6.56
	“.7” 0.7
4.isNaN
	–isNaN() 函数用于判断参数是否是NaN(不是数字)。如果是 NaN, 那么 isNaN 函数返回 true ,否则返回 false。
	参数 结果
	‘134’ false
	'2a34' true
	'2.34' false
	'    ' (空格) false
	'wh' true
	parseInt(string) 

10.onclick事件

事件与处理程序的绑定
1. 
即事件名=function changeSize(){…}
2.function changeSize(){
			var xi = document.getElementById("txt");
			xi.style.color = "red";
			xi.style.fontSize = "50px";
		}*/
document.getElementById("txt").onclick = function(){
			this.style.color = "red";
			this.style.fontSize = "50px";
		}

11.onload事件(页面加载事件)

1.

  

12.onfocus(聚焦事件),onblur(失焦事件)


1.

账号:

13.onchange当发生改变时触发

1.
onchage事件通常指输入框的值发生了变化或者改变下拉列表框的选项会触发onchange事件。
在下拉列表框中选中友情链接后,窗口打开指定的页面。



	  
附加:onload和onunload事件
–onload 事件会在页面加载完成后立即发生
–用户关闭或刷新网页时触发onunload事件
2.
	

当今世界正处于大发展大变革大调整时期

15.onsubmit(提交事件)


欢迎登陆长江大学江湖排行榜

大侠名号:

大侠暗号:

function checkForm(){} 应用:

请选择头像:

在这里插入图片描述

16.onkeypress按键按下事件


用户登录

忘记密码了?

17.confirm

1.删除
2.//alert("你最爱的长大美食是什么?")
	//prompt弹出文本框
	//1个参数作为标题,2个参数标题+默认文本
	//var food = prompt("你最爱的长大美食是什么?","螺蛳粉");
	
	//confirm 根据确定和取消按钮来决定执行何种操作
	var flag = confirm("你确定要删除吗?");
	if(flag == true){
		alert("执行删除操作!");
	}else{
		alert("取消操作!")
	}

18.open方法


 关闭窗口
名称 说明
height、width 窗口文档显示区的高度、宽度。单位为像素
left、top 窗口的x坐标、y坐标。单位为像素
toolbar=yes | no  |1 | 0 是否显示浏览器的工具栏。黙认是yes
scrollbars=yes | no  |1 | 0 是否显示滚动条。黙认是yes
location=yes | no  |1 | 0 是否显示地址地段。黙认是yes
status=yes | no  |1 | 0 是否添加状态栏。黙认是yes
menubar=yes | no  |1 | 0 是否显示菜单栏。黙认是yes
resizable=yes | no  |1 | 0 窗口是否可调节尺寸。黙认是yes
titlebar=yes | no  |1 | 0 是否显示标题栏。黙认是yes

19.setTimeout,setInterval

1.
	


 
2.
	

20.history

//back 后退一个页面,相当于浏览器后退按钮 //forward 前进一个页面,相对于浏览器前进按钮 //go 打开一个指定位置的页面

后退 前进

后退 前进

21.location(地址栏)


	


 

22.getElementsByTagName(根据标签获取一组元素)


	

法律权威、法律效力

一只小青蛙背后的女性手游市场有多大?

作为国家的根本法

一款名为《旅かえる》蹿红

成为手游市场上继腾讯荣耀系

23.getElementsByName(根据相同的name属性获取一组元素)


全选

读书

24.innerHTML,innerText,value


25.节点关系


		

第一个段落

第二个段落

第三个段落

第四个段落

26.JavaScript对象


27.Date对象


	
		

28.Date倒计时


		

方法 功能
getDate 返回一个月中的某一天(1~31)
getDay 返回一周中的某一天(0~6),0为周日,1为周一,以此类推
getFullYear 以四位数返回年份
getHours 返回小时(0~23)
getMilliseconds 返回毫秒
getMinutes 返回分钟(0~59)
getMonth 返回月份(0~11),0为一月,1为二月,以此类推
getSeconds 返回秒数(0~59)
getTime 返回1970年1月1日至今的毫秒数

29.Image对象

1.





30.Math对象


	









Math.abs(number) 返回number的绝对值 Math.ceil(number) 对number向上取整,如Math.ceil(67.6)返回值是68 Math.floor(number) 对number向下取整,如Math.ceil(67.6)返回值是67 Math.max(number1,number2) 返回number1与number2中的较大值 Math.min(number1,number2) 返回number1与number2中的较小值 Math.pow(x,y) 返回x的y次幂 Math.random() 返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) Math.round(number) 返回最接近number的整数 Math.sqrt(number) number的平方根

31.Array对象 for-in循环

//js数组有两个特点
//1.无需特意的声明长度
//2.可以存放所有类型的元素
//3.不会出现数组下标越界,不存在的下标对应的值类型就是undefind
	//方式一
	var array1 = new Array();
	array1[0]="刘备";
	array1[1]=59;
	array1[2]=true;
	array1[3]=null;

	//方式二
	//声明数组时,预先给予长度
	var array2= new Array(4);
	alert(array2[0]);//underfind
	
	//方式三
	var array3 = new Array(1,2);
	//alert(array3.length);//2
	//alert(array3[0]);//1
	
	//方式四(动态初始化)
	var array4=['张三','李四','王五','赵六','鬼脚七'];
	//遍历方式1(常规的for,while,do-while循环)
	for(var i=0;i");
	}
	document.write("
") //遍历方式2(for-in循环) for(var str in array4){ document.write(array4[str]+"
"); }

32.String对象

var str = "今天终于敢开口对你说you are goodman";
	var moive = "芳华,降临,ET,功夫,杀生,食神";
	//length属性
	//alert(str.length);//25
	//charAt:返回字符串对象中指定索引处的字符
	//alert(str.charAt(10));//y
	//indexOf:返回字符串对象中定字符的第一个下标
	//alert(str.indexOf("o"));//11
	//lastIndexOf:返回字符串对象中定字符的最后一个下标
	//alert(str.lastIndexOf("o"));//20
	//substr:从参数1开始截取字符,位数为参数2
        //共同属性:如果只有一个参数,则从参数1开始截取后面所有的字符
	//alert(str.substr(2,8));
	//substring:从参数1开始截取到参数2,位数为参数2-参数1
	//alert(str.substring(2,8));
	//alert(str.toLowerCase());//小写
	//alert(str.toUpperCase());//大写
	//split:使用符号将一个字符串分割成一个数组
	var strs = moive.split(",");//6
	alert(strs.length);
	for(var index in strs){
		document.write(strs[index]+"
"); } 名称 描述 charAt 返回字符串对象中指定索引处的字符,索引从0开始,如"mstanford".charAt(3),返回字符a indexOf 返回某个子字符串在目标字符串中首次出现的位置,如"mstanford".indexOf("w"),返回-1,在目标字符串中没有子字符串"w",则返回-1 substr 从指定索引位置开始截取指定长度的字符串,如"mstanford".substr(2,3),返回"tan"。第一个参数表示从索引是2的字符开始截取,即't',第二个参数表示截取的长度 substring 返回指定索引范围内的字符串。如:"mstanford".substring(2,3),返回"t"。例题表示返回索引2和3之间的字符串,并且包括索引2对应的字符,不包括索引3对应的字符 toLowerCase 把字符串转化为小写 toUpperCase 把字符串转化为大写。例如:"mstanford".toUpperCase(),返回" MSTANFORD" split 返回按照指定分隔符拆分的若干子字符串数组。如:var arr="hello,world".split(",");arr是数组变量,其中第一个数组元素是“hello”,第二个数组元素是“world”

你可能感兴趣的:(前端,javascript学习总结)