理解JavaScript中的this用法

    xiaoxiao2021-03-25  108

    this在JavaScript中有着广泛的应用,无论是普通函数、还是构造函数,都可以看到this的影子。初学者非常容易误解了this的含义,现在博主使用一些简洁的例子,来将this的用法展现出来。

    1. 一般函数中this表示全局对象

    function demo() { console.log(this.x); } var x = 1; demo(); //输出1

    2. 作为方法调用,this表示上一级对象

    function demo() { console.log(this.x) } var obj = { x: 1, demo: demo, }; obj.demo(); //输出1

    3. 作为构造函数调用,this表示对象实例

    function demo() { this.x = 1; } var x = 2; var obj = new demo(); console.log(obj.x); //输出1

    4. 表示被绑定的内容

    function demo() { console.log(this.x); } var obj = { x: 2, }; var x = 1; demo.call(obj); //输出2

    在ES6中,使用 => 箭头可以表示代替使用 var self = this 或者 bind(this) 的做法。在一定程度上面降低了this的理解难度,期待更多新的语法可以彻底解决这些问题。

    转载请注明原文地址: https://ju.6miu.com/read-18357.html

    最新回复(0)