js中的this

    /*  

    this指向的不同场景

    在方法中,this 指的是所有者对象。

    单独的情况下,this 指的是全局对象。

    在函数中,this 指的是全局对象。

    在函数中,严格模式下,this 是 undefined。

    在事件中,this 指的是接收事件的元素。

    */

    /*  

    方法中的this

    在对象方法中,this 指的是此方法的“拥有者”。

    */

    var person = {

    firstName: "Bill",

    lastName : "Gates",

    id       : 678,

    fullName : function() {

        console.log('对象中的this',this) //person对象

        return this.firstName + " " + this.lastName;

        }

        // 此时的this指向person

    };

    person.fullName()

    /*  

    单独的 this

    此时this指全局对象[object Window]

    */

    var x = this;

    console.log('单独的this',x) //全局对象是 [object Window]:

    /*  

    函数默认的this

    此时this指全局对象[object Window]

    */

    function myFunction() {

        console.log('函数中的this',this)

        return this;

    }

    myFunction()

    /*  

    函数中的 this(严格模式)

    此时this是未定义的

    */

    "use strict";

    function myFunction1() {

        console.log('严格模式下函数中的this',this)//undefined

        return this;

    }

    myFunction1()

    /*  

    改变this指针使用call()和apply()函数

    */

你可能感兴趣的:(js中的this)