JavaScript day 3

1、arguments:获取函数调用,传入几个参数,可以获取传入的每个参数值

arguments.length 实参的个数     arguments[索引] 实参的值

2、函数其它定义方式

命名函数:function 函数名(){循环体}      函数名();(重名函数覆盖,执行最后一个)

匿名函数:var 变量=function(){循环体}; (函数赋值要加分号)  变量();

函数自调用(声明同时调用,一次性):(function(){循环体})();

回调函数:函数作为参数使用,函数名(函数名); 

函数可以作为返回值

3、作用域:使用范围

(1)全局变量:声明变量用var声明,在任何位置都可以使用,不会被删除

(2)局部变量:函数内部定义变量,外面不可以使用

(3)全局作用域:全局变量使用范围

(4)局部作用域:局部变量使用范围

(5)块级作用域:一对大括号可以看做一块,括号内变量使用范围,js没有块级作用域,函数除外

(6)隐式全局变量:声明变量没有var,可以被删除

(7)作用域链:从内到外搜索变量,找不到undefined

4、预解析:执行代码前,变量和函数声明提前到当前所在作用域的最上面,函数中的变量声明提升到该函数作用域的最上面(里面),多对script标签都有相同的名字的函数,预解析的时候是分段的,互不影响

5、对象:有特征(属性)和行为(方法),具体特指某一个事物

创建对象

(1)调用系统构造函数:var obj=new Object();          添加属性:obj.名字=值;      添加行为:obj.名字=函数;

<1>变量类型验证:变量 instanceof 类型的名字---------true是这个类型false不是这个类型

<2>在当前对象方法中,可以使用this关键字代表当前的对象

<3>创建多个对象:创建对象代码封装在函数中

(2)自定义构造函数:function  命名(首字母大写)(参数){   }        var  obj=new  命名();

(3)字面量构造函数(一次性对象):var obj={ name:  ,age:    ,sayHi:function(){},eat:function(){} }; 

(4)obj.name=obj["name"](对象中确实有这个属性对象.属性名字或者对象[属性名字])

6、JSON:一般是成对的

var json={"name":"xiaoming","age":"10","sex":"nan"};

遍历用for-in循环:for(var key in json){console.log(json[key]);}(key变量,该对象所有属性的名字)

7、传递

值类型:传递的是值

引用类型:传递的是地址(引用)

8、内置对象

(1)Math对象:Math.PI---π   Math.E---常数的底数  Math.abs(值)---绝对值  Math.ceil(值)---向上取整  Math.floor(值)---向下取整   Math.fround(值)---最近小数   Math.max(值)---一堆数字中最大值  Math.pow(x,y)---x的y次方  Math.sqrt(值)---开方  Math.random(值)---返回浮点(0—1)

猜你喜欢

转载自blog.csdn.net/LBunny_/article/details/81196532