此JavaScript代碼需要在一個句子中提取第一個單詞,並調用一個名爲第一個單詞的函數,但如果該單詞沒有功能,則不執行任何操作。但它不是編譯。任何想法爲什麼以及如何解決它?
即如何將參數傳遞給函數?JavaScript私有方法引用立即調用函數內
refactor = (function() {
const john = function (description) {
console.log(description);
};
const factoring = {
'john': john(description) // <--- description is not defined ---
};
return Object.freeze({
'byName': function (description) { // calls the correct private method if present
let name = description.match(/(\S+)\s/)[1];
if (name in factoring) factoring[name](description);
}
});
}());
錯誤說明了一切。 'desc'沒有在任何地方定義。 – Li357
'desc'甚至會是什麼? –
然後,我怎樣才能將參數傳遞給函數? –