簡體   English   中英

如何從同一對象內的另一個函數調用變量?

[英]How to Call a Variable from another Function within the same Object?

我只想知道是否有一種簡單的方法可以從同一Object內的另一個函數調用變量?

var comedy = {
schadenfreude: function() {
    var number = prompt("Provide me a number.");
},
irony: function() {
    this.schadenfreude();
    for(i = 0; i < this.schadenfreude.number(); i++){
        return i;
    }
}
};
console.log(comedy.irony());

在此示例中,我希望從schadenfreude function獲取var number ,並在irony function for循環中使用該提示號。 謝謝您的幫助。

“ schadenfreude”函數中的“ number”變量是該函數的本地變量。 即使您能夠做到(您無法做到),也不會帶來任何好處。

您(可能)想要的是:

var comedy = {
    number: 0,
    schadenfreude: function() {
        this.number = prompt("Provide me a number.");
    },
    irony: function() {
        this.schadenfreude();
        for(i = 0; i < this.number; i++){
            alert(i);
        };
    }
};
console.log(comedy.irony());

或者,您可以讓“ schadenfreude”將值分配給對象上的“ number”屬性,以便在“ irony”函數中引用this.number 在任何一種情況下,正如我在代碼的注釋中所指出的那樣,您的for循環具有該return語句這一事實意味着,如果用戶給您任何非負數,則“諷刺”函數將始終返回零,否則undefined

聽起來您想從定義在同一對象上的另一個成員中獲取局部變量。 這不是直接可能的。 局部變量的作用域是定義函數/成員,無法直接訪問它們。 該函數必須以某種方式將它們顯式返回給調用方,以便對其進行訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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