为什么需要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,很多问题也有解决方案的,但是很不方便