js函数内部属性
函数内部属性
只有在函数内部才能访问的属性并且只有在函数调用的时候才能确定其值的属性。
1.arguments
本质上是一个类数组对象,该对象在函数执行的时候可以将用户传递的实参进行保存。
{
“0”:“terry”,
“1”:“larry”,
“2”:“tom”,
length:3,
callee
}
argument.callee指向当前函数。callee无法在严格模式下使用
“use strict”
2.this
this指向当前执行环境的对象。同一个函数中的this的取值跟调用方法有关,调用方法不同this可能就不同。
判断技巧:
如果使用括号调用,查看括号前面是不是函数,如果是,继续查看函数前有没有点,如果有点,this为点前面的变量
例如:
function foo(){
console.log(this);
}
foo(); foo中的this指向全局环境对象,window/global
obj.foo(); foo中的this指向obj
[1,2,3,foo,4][3]() foo中的this指向数组
执行环境{
全局执行环境
浏览器 window
nodejs global
方法内部执行环境
this
}