函数的内部属性this
函数的内部有this属性,指向函数所在的环境
var a = 2;//存在global中
function add(a){
var a = 1;
console.log(this.a);//2
}
add(3);
var a = 2;
var obj = {
a:3,
var add = function(a){//该函数在obj内部定义,this指向该对象
console.log(this.a); //3
}
}
obj.add();
this指向函数据以执行的环境对象,在浏览器的函数内部this对象指向的就是window,nodejs环境this对象指向的是global。
如果函数是直接执行的,没有其他的对象进行.调用,那么this指向的是window, 如果是某个对象进行.调用的函数,this会指向那个对象(默认情况下)