簡體   English   中英

javascript中的示例堆棧,需要澄清“ this”的用法

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM