簡體   English   中英

JavaScript-將變量作為方法傳遞

[英]Javascript- Passing variable as method

我的問題是嘗試將通過提示定義的變量傳遞給對象方法。 在我的代碼末尾,我嘗試將變量“ house”傳遞到類構造函數中的“ .teamPick”方法中,但不行。 如果我console.log(house)會顯示'gryffindor',但是當我嘗試傳遞house.teamPick()時,我會收到一條錯誤消息,說“ house.teamPick()不是函數”。 我沒辦法。

function House(color,broom) {
    this.color= color;
    this.broom= broom;
    this.teamPick= function() {
        alert("Throw on your"+" "+ this.color + " " + "robes, jump on your \n" + this.broom + ", " + "and let's play some Quidditch!")
    };
};

var gryffindor= new House('red', 'Firebolt');

var house= prompt('What team do you choose?').toLowerCase(); 

if(house=== "gryffindor") {
    house.teamPick();
};

您在腳本末尾使用了錯誤的值( house )。 house是一個字符串值,而不是House的實例。

gryffindorHouse的實例(使用new House()創建),因此您要使用它。

您希望最后三行是這樣的:

if(house === "gryffindor") {
    gryffindor.teamPick();
};

暫無
暫無

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

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