簡體   English   中英

function 輸出 function 文本而不是預期 output

[英]function outputting function text rather than expected output

我已經用幾種不同的方式問過類似的問題,但這是最簡單的版本 - 當 function 發生時,我試圖通過鍵名值列表遞增。 但是,當調用 function 時,我得到的只是 function 本身的文本。 這是一個片段 -

var knlist = {
    kn10:"2L1qvq6Tg6rMhEwNshr6dQ",
    kn11:"2N_Cl_Gl5fX8_TdLgHP3rQ",
    kn12:"2RbpjbhM3_EfzejfPgzwAw",
    kn13:"2rP8y_ub_alGrzAK_aZrEg",
    kn14:"2S8O9KBwxRlvtZX6kjyS0y",
    kn15:"2Ua5EnPVDwd7LGq6UbT2bQ",
    kn16:"3_17fNbyu2Yw8ozPx8BmkA",
    kn17:"3LB0GSXXVadBlCMhSth3IA",
    kn18:"48JvNwKSgvnWT8nqzWtE3Q",
    kn19:"4CP5JE_mlMMzjvDMMgXncg",
}

var count = 11

var knx = function knxer(){
    if (count === 11) {
    knx = "kn11";
    } else {
    knx = ("kn" + count);
    }};

var keyname = (knlist[knx]);

console.log (count)
console.log (knx)
console.log (keyname)

Console.log KNX 只給我 function knxer()本身的文本,而不是 function 隨着計數增加而返回的預期值。

一旦解決了這個問題,我將讓另一個 function 增加不同位置的計數 - 這是一個完整的 JSFiddle 位置。 一旦完成,我將為登錄頁面添加一個輸入,以便用戶名具有一個可以在有人第一次嘗試調查時估算的值,並一遍又一遍地發布每個完成。

問題是您將knix分配給您的 function

 var knlist = { kn10:"2L1qvq6Tg6rMhEwNshr6dQ", kn11:"2N_Cl_Gl5fX8_TdLgHP3rQ", kn12:"2RbpjbhM3_EfzejfPgzwAw", kn13:"2rP8y_ub_alGrzAK_aZrEg", kn14:"2S8O9KBwxRlvtZX6kjyS0y", kn15:"2Ua5EnPVDwd7LGq6UbT2bQ", kn16:"3_17fNbyu2Yw8ozPx8BmkA", kn17:"3LB0GSXXVadBlCMhSth3IA", kn18:"48JvNwKSgvnWT8nqzWtE3Q", kn19:"4CP5JE_mlMMzjvDMMgXncg", } var count = 11 var knx; function knxer(){ if (count === 11) { knx = "kn11"; } else { knx = ("kn" + count++); // update the count each time it calls }}; knxer(); // call it var keyname = (knlist[knx]); console.log (count) console.log (knx) console.log (keyname)

您必須致電 function,

您只是在console.log()中提到 function 名稱,

這將調用 function 並將返回值console.log(knx())

這不會調用 function 而是返回 function 主體console.log(knx)

暫無
暫無

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

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