[英]Example stack in javascript, need clarification on 'this' usage
我找到了这个示例,但我无法理解它是如何工作的:
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
在JavaScript中是游戏规则的改变者,应予以注意。 用的东西this
是它引用您调用函数的上下文。
在这种情况下,当调用.push
时,它将引用Stack对象实例。
Btw console.log
会在解决时进行打印,但是您无法期望在那时及时解决ti。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.