这个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);
}
});
}());
答案 0 :(得分:0)
desc
未定义。定义desc
并为其指定值(const desc = "Some random string"
)或将desc
替换为某个值('john': john("Some random string")
)。