js中this指向

Posted yan-hua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中this指向相关的知识,希望对你有一定的参考价值。

javascript由于在运行期进行绑定的特性,JavaScript中的this可以是全局对象,当前对象或者任意对象,这完全取决于函数的调用方式

1、全局作用域或者普通函数中this指向全局对象window

console.log(this);//window

//函数声明
function bar(){
    console.log(this);
}
bar();//window

//function声明函数赋给变量
var bar = function () {
console.log(this);
}
bar ();//window

//自执行函数
(function () {
console.log(this)
})();//window

 

2、方法调用中谁调用this指向谁

//对象方法调用
var person ={
    run: function (){
        console.log(this);
    }
}
person.run();//person

//事件绑定
var btn = document.querySelector("button");
btn.onclick = function (){
    console.log(this);//btn
}

 

3、在构造函数或者构造函数原型对象中this指向构造函数的实例

技术分享图片

 http://www.cnblogs.com/isaboy/archive/2015/10/29/javascript_this.html

 

以上是关于js中this指向的主要内容,如果未能解决你的问题,请参考以下文章

js 中this到底指向哪里?

关于JS中this对象指向问题总结

this的指向

详解JS中定时器setInterval和setTImeout的this指向问题

JS中this的指向

js中的this