javascript - JavaScript 中的示例堆栈,需要澄清 'this' 的用法

标签 javascript

我找到了这个例子,但我无法理解它是如何工作的:

function Stack() {
  this.top = null;
}
    
Stack.prototype.push = function(val) {
  this.top = {
    data : val,
    next : this.top
  }
}
    
var S1 = new Stack();
S1.push(1);
S1.push(2);
console.log(S1);

为什么“next : this.top”解析为上一个推送的“this.top”对象?而不仅仅是返回 null?

最佳答案

当一个函数作为对象的方法被调用时,它的 this 被设置为调用该方法的对象。

你可以看到这个documentation了解更多详情

关于javascript - JavaScript 中的示例堆栈,需要澄清 'this' 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41392455/

相关文章:

javascript - 在没有 drupal 的情况下使用 Drupal 工具栏

javascript - 将函数包含在 Handlebars.js 中

javascript - 逻辑应用绕过筛选器查询中的 Null

javascript - 使用 jquery/javascript 的奇怪 IE 问题

javascript - 使用js将svg矩形添加到dom

javascript - 如何使用数据数组填充 HTML 表格?

javascript - Angular 2 : Communication between sibling components

javascript - 在 html 输入日期时间本地选择器中禁用前一天的前一个时间

javascript - POST 请求在 Android 9 (JAVASCRIPT/CORDOVA/PHONEGAP ) 中返回错误

带复选框的 Javascript 电子邮件 ID 验证