' 关键字与 java 的 'this' 关键字有何不同?任何实际示例都将不胜感激。
var counter = {
val: 0,
increment: function () {
this.val += 1;
}
};
counter.increment();
console.log(counter.val); // 1
counter['increment']();
console.log(counter.val); // 2
在爪哇中:
public Rectangle(int x, int y, int width, int height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
谢谢。
在 JavaScript 中,this
总是指我们正在执行的函数的"所有者",或者更确切地说,是指函数作为方法的对象。
在 Java 中,this
是指在其上执行该方法的当前实例对象。
涉及到关键字"this"时,JavaScript有点奇特。
在 JavaScript 中,函数是对象,"this"的值取决于函数的调用方式。
事实上,只需阅读链接的文章即可了解 JavaScript 如何处理"this"关键字——先喝大量的咖啡。
ECMAScript 将this
定义为"计算当前执行上下文的 ThisBinding 的值"的关键字(§11.1.1)。每当建立执行上下文时,解释器都会更新此绑定。
在 Java 中,this
是指使用它的方法的当前实例。有一个JVM,没有解释器。