1.调用javascript函数的方式:
- 作为函数
- 作为方法
- 作为构造函数
- 通过它们的call()和apply()方法间接调用
2.如果想访问外部函数的this值,需要将this的值保存在一个变量里,这个变量和内部函数都同在一个作用域内。通常使用变量self来保存this
var o = {
m:function(){
var self = this; //将this值保存在一个变量中
console.log(this===0); //输出true,this就是这个对象o
f(); //调用辅助函数f()
function f(){
console.log(this===0);//false:this的值是全局对象或undefined
consle.log(self===0);//true:self指外部函数this的值
}
}
};
3.标识符arguments是指向实参对象的引用,实参对象是一个类数组对象,这样可以通过数字下标就能访问传入函数的实参值。
4.callee和caller属性
在非严格模式下,ECMAScript标准规范规定callee属性指代当前正在执行的函数。caller是非标准的,它指代调用当前正在执行的函数的函数。