javascript - JavaScript 对象中的函数

标签 javascript function object

var stack_1 = 
       {
          sp: 10,
          stk: new Array(10),

          push: function (v)
          { 
            sp = sp - 1; 
            stk[sp] = v; 
          }
    } 

问题:

该程序无法运行。因为我们需要写“this.sp”等。我不明白如果函数完全属于“stack_1”,为什么我们需要写“this.sp”。

最佳答案

因为 this 指的是当前对象,即示例中的 stack_1。 sp,stk 是 stack_1 的属性,而不是 push 函数的属性。这就是为什么您需要使用 this.sp 来表示您正在使用 stack_1 对象的 sp 属性。

这就是 JavaScript 的工作原理。

关于javascript - JavaScript 对象中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35196041/

相关文章:

php - 函数多次只返回一个值

Javascript 递归函数。将数据存储在数组中时出现错误结果

c++ - 创建采用可变数量的参数和数据类型的函数

javascript - 获取 key :value pair inside sub-blocks

javascript - 使用 node-gyp 在 node.js 中转换数组

javascript - 如何将字符串转换为数学表达式?

c# - 使用c#的基本对象引用和使用问题

javascript - 如何配置 puppeteer 以获得包含完整图像和样式的 pdf 页面?

function - 为什么我没有通过任何错误时会收到 "Too many input arguments"错误?

c++ - 实际上什么返回类型有一个新的?