有没有理由这是'未定义的,有没有办法避免它?
我正在尝试从错误消息对象中动态检索所需的错误消息。这是它的一个非常简化的版本。
var language = {
errorMsg: {
helloWorld: "hello world"
}
};
function displayErrorMsg(msg) {
console.log(msg); // output: helloWorld
console.log(language.errorMsg.helloWorld); // output: hello world
console.log(language.errorMsg[msg]); // output: Uncaught ReferenceError: helloWorld is not defined
}
displayErrorMsg('helloWorld');
答案 0 :(得分:2)
在您的示例中language.errorMsgTSD
不存在
你可以这样做:
function displayErrorMsg(msg) {
console.log(language.errorMsg[msg]); // output: hello world
}
答案 1 :(得分:1)
errorMsgTSD未在任何地方定义。
答案 2 :(得分:0)
未定义,因为language
没有errorMsgTSD
字段。你需要像这样创建它:
var language = {
errorMsg: {
helloWorld: "hello world"
},
errorMsgTSD: {
helloWorld: "hello world"
},
};
或者您可能需要将功能更改为:
function displayErrorMsg(msg) {
console.log(msg);
console.log(language.errorMsg[msg]);
}