码迷,mamicode.com
首页 > 其他好文 > 详细

this指向

时间:2019-12-14 16:08:20      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:创建   func   返回   div   span   bsp   UNC   构造函数   max   

1. 普通的函数调用时,this 指的是 global 对象,由于 global 对象是作为 window 对象的一部分实现的,因此 this 认为是 window 对象
// 1. 普通的函数调用时
        function max () {
            this.x = 1;
            // this 指的是 global 对象,由于 global 对象是作为 window 对象的一部分实现的,因此 this 认为是 window 对象
            console.log(this)
        }
        max();
2. 作为对象的方法调用时,函数中的 this 指向的是函数的直接所有者。换句话来说,函数直接属于谁,函数中的 this 就指向谁
 // 2. 作为对象的方法调用时
        var obj = {
            fullName: ‘张康‘,
            sayName: function() {
                // this 指的是 obj 对象
                console.log(this)
                return this.fullName;
            }
        };
        
        // 函数中的 this 指向的是函数的直接所有者。换句话来说,函数直接属于谁,函数中的 this 就指向谁。
        window.obj.sayName();

3、作为构造函数调用时,this 指的是新创建的实例,接下来会被自动返回到函数外部

 // 3. 作为构造函数调用时
        function Dog(dogName, dogAge) {
            // this 指的是新创建的实例,接下来会被自动返回到函数外部
            console.log(this)
            this.name = dogName;
            this.age = dogAge;
        }

        // 调用构造函数
        var dog1 = new Dog(‘哈士奇‘, 3);
        var dog2 = new Dog(‘泰迪‘, 2);

        console.log(dog1, dog2)

 

this指向

标签:创建   func   返回   div   span   bsp   UNC   构造函数   max   

原文地址:https://www.cnblogs.com/penggedeboke1999/p/12039114.html

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