命名空间
所谓namespace,是指标识符的各种可见范围.#
()
(function()())javas解析器才会将它当做函数表达式进行解析,否则会看成一个函数声明.
闭包
函数体内的变量可以通过作用域保存在函数的作用域.这就叫做闭包.
length属性
函数形参的个数.
prototype
这个属性指向一个对象的引用,这个对象就该对象的原型对象.
上下文
如果通过对象来调用函数,那么这个对象就是该函数的上下文,也就是关键字this指向的值.
call()和apply()
同过调用该方法的方式来间接的调用函数.该方法的第一个参数为函数的母对象.后面的所有参数都该方法的的入参.apply()的所有实参怎是放入一个数组中传入.
比如f()是o对象的一个方法.可以通过f.call(o)来调用该方法.
bind()
调用bind()方法,会将该方法绑定到一个对象.并返回一个函数,通过该函数,可以通过对象调用该方法.传入bind()的所有参数都将传入对象的该方法.
toString()
返回的是函数的完整源码,有内置函数,则[native code]作为函数体.
高阶函数
操作函数的函数,就叫做高阶函数.