声明
推荐用let
声明:符合JS函数是一个对象的特点、解决声明提升、块级声明。
let fn=function fn(){}
注意,在期望是一个值的地方声明函数会变成一个函数字面量
let fn=function fn(){};
if(function fn(){}){};
(function fn(){});
参数
参数用var
声明
function f1(a){
var a=5;
}
参数传递就是赋值操作,所以修改对象属性会影响外部
var o={}
!function f1(o){
o.name='666';
}(o);
o.name;//666
隐式参数
//this
//值是函数的调用者,注:严格模式有有所不同。
//arguments
//值是一个保存参数的可迭代对象,注:严格模式有有所不同。
#函数的属性
函数是一个可执行对象,他有自己的属性:
name
length
prototype
网友评论