以下都是在非严格模式下进行讨论
一、普通函数
function f1(){
console.log(this); //window对象
}
BOM中的顶级对象时window,浏览器中的所有东西都是window的。
二、定时器
setInterval(function(){
consolo.log(this); //window对象
},1000
)
setInterval是window对象的一个方式,实际上是window.setInterval(),只不过window可以省略
三、构造函数
function Person(){
console.log(this);
}
var jack = new Person(); //指向当前实例对象 Person
四、对象.方法
function Person(){
this.hello = function(){
console.log(this);
}
}
var jack = new Person();
jack.hello(); //指向当前实例对象 Person
五、原型对象
function Person(){
this.hello = function(){
console.log(this);
}
}
Person.prototype.say = function(){
console.log(this);
}
var jack = new Person();
jack.say(); //指向当前实例对象 Person
网友评论