this指向问题——严格非严格模式,事件处理程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this指向问题——严格非严格模式,事件处理程序相关的知识,希望对你有一定的参考价值。

this值取决于调用它的位置与方法
 
函数调用:ES3和非严格的ES5,this指向全局对象,ES5严格模式下为undefined
 
方法调用:this指向调用它的对象。
 
function IsStrict(){return !this;}//判断是否为严格模式
 
this值指向的特殊情况:
var name="Window";                                        obj.getName();        //myObj
var obj={                                                            (obj.getName)();     //myObj
            name:"myObj",
            getName:function(){                              (obj.getName=obj.getName)();    //Window
                console.log(this.name);
            }
        };
 
 
IE事件处理程序,this指向全局作用域
W3C事件处理程序和IE DOM0级方法,this指向绑定对象(currentTarget)

以上是关于this指向问题——严格非严格模式,事件处理程序的主要内容,如果未能解决你的问题,请参考以下文章

call,apply,bind指定函数的this指向详解,功能细节,严格和非严格模式下设定this指向

js中this的指向

js中的this

[JS] 先bind后new,this的指向

this指向 - Node环境

this的指向问题