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/