码迷,mamicode.com
首页 > Web开发 > 详细

js中的this指向

时间:2019-11-27 01:13:08      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:func   win   list   var   class   cti   第一个   cli   this   

    this 通常指向调用者,即谁调用指向谁。

场景1:

        var a = 2;
        function fn() {
            console.log(this.a);
        }
        var obj = {
            a:123,
            fn:fn
        }
        fn(); // 2  this指向window
        obj.fn(); // 123 this指向obj

场景2:appy 与call 可改变this 指向(call与apply的第一个参数是this指向)

        var a = 2;
        function fn() {
            console.log(this.a);
        }
        var obj = {
            a:123,
            fn:fn
        }
        fn(); // 2  this指向window
        fn.call(obj); // 123 this指向obj
        fn.call(window); // 2  this指向window

场景3:箭头函数可以改变this指向,它的this绑定取决于外层

        var a = 2;
        var fn = () => {
            console.log(this.a);
        }
        var obj = {
            a:123,
            fn:fn
        }
        fn(); // 2  this指向window
        obj.fn(); // 2 this指向window 而不是obj

场景4:事件中this指向事件对象元素

        var ul = document.getElementById("myul")
        ul.addEventListener(‘click‘, function () {
            console.log(this) // this 指向 id 为 myul 的标签
        })

 

 

 

js中的this指向

标签:func   win   list   var   class   cti   第一个   cli   this   

原文地址:https://www.cnblogs.com/jlyuan/p/11939312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!