har*_*max 27 javascript variables function undefined
我有这个代码:
var phrase = function (variable, defaultPhrase) {
if (typeof variable === "undefined") {
return defaultPhrase;
}
else {
return variable;
}
}
Run Code Online (Sandbox Code Playgroud)
它被称为这样:
Ext.Msg.show({title: phrase(js_shutdown,'Shutdown'), //...
Run Code Online (Sandbox Code Playgroud)
我想要做的是在未定义变量时使用默认短语,但是当我将未定义的变量传递给时phrase(),JS会抛出未定义的变量错误.我该如何解决?还有其他想法吗?
pim*_*vdb 59
你不需要一个功能.该||操作通常用于:
Ext.Msg.show({ title: js_shutdown || 'Shutdown', //...
Run Code Online (Sandbox Code Playgroud)
你可以看到||:
someValue || defaultValue
Run Code Online (Sandbox Code Playgroud)
对于字符串,defaultValue使用if someValue === "".
如果根本没有定义变量,则需要内联typeof x === "undefined"检查,因为您无法将变量传递给函数(即a ReferenceError).
Wee*_*etu 13
通常使用||就足够了,就像其他人所说的那样.但是,如果要将0,false和null作为可接受的值,那么确实需要检查变量的类型是否未定义.您可以使用三元运算符使其成为单行:
var variable;
var defaultPhrase = "Default";
var phrase = (typeof variable === "undefined" ? defaultPhrase : variable);
console.log(phrase);
// => "Default"
Run Code Online (Sandbox Code Playgroud)