为什么需要this和它的作用

80 阅读1分钟

为什么需要this

在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是JavaScript中的this和常见的面向对象语言中的this不太一样:

  • 常见面向对象的编程语言中,比如Java、C++、Swift、Dart等等一系列语言中,this通常只会出现在类的方法中。

  • 也就是你需要有一个类,类中的方法(特别是实例方法)中,this代表的是当前调用对象。

  • 但是JavaScript中的this更加灵活,无论是它出现的位置还是它代表的含义。

this的作用

var obj = {
    name: "why",
    eating: function() {
        console.log(this.name + "在吃东西")
    },
    running: function() {
        console.log(obj.name + "在跑步")
    },
    studying: function() {
        console.log(this.name + "在学习")
    }
}

this代表obj对象

从某些角度来说,开发中如果没有this,很多问题也有解决方案的,但是很不方便