[英]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.