一、this
当前的 关键字 函数的拥有者
1.函数中的引用
var x = 1;
function test() {
this.x = 0; // this==test
};
function test1() {
this.x = 2; // this ==> test1
}
test();
test1();
console.log(x) //==> 2 从上往下按照顺序执行
2.在对象中调用
function test3(){
return this.a; //this,指向调用者 obj.action;
}
var obj = {}
obj.a =1;
obj.action =test3;
console.log(obj.action()); //==>1
3.构造函数
this指向实例化以后的对象
function Person(age,name) {
this.name = name;
this.age = age;
}
var fun = new Person('xiao1',22);
var fun2 = new Person('xiao2',22);
console.log(fun.name);
例:面试题
var number = 1;
var object1 = {
number:2,
showNumber:function(){
this.number = 3;
(function(){
console.log(this.number); //==>1
})();
console.log(this.number); //==>3
}
};
object1.showNumber();
考点:函数自执行 this指向的是window