当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js中不同环境下的this分别指的是什么?

js中不同环境下的this分别指的是什么?

2018年03月21日  | 移动技术网IT编程  | 我要评论

js中不同环境下的this分别指的是什么?

在js中,不同的环境下,this所指不同,下面做下小结,也是给自己一个提醒。

四种调用模式

1、函数调用 ==window

2、方法调用 ==宿主

3、构造器 ==实例对象

4、上下文(间接调用)

    function fn() {
        console.log(this);
    }

    var obj = {fn:fn};

    var o = {
        obj: {
            f:fn
        }
    };
    fn();//window
    obj.fn();//obj
    o.obj.f();//obj
    new fn();//fn构造函数的实例对象
    fn.call([1,2,3]);//数组
    fn.call({val:100});//对象

    setTimeout(function () {
        console.log(this);  //window
    },100);

    document.getElementsByTagName('p')[0].addEventListener('click',function () {
        console.log(this);  //p标签
    });

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网