如果使用Javascript未定义变量,则定义变量

Riz*_*Riz 2 javascript variables undefined

如果未定义,如何在Javascript中定义变量.我试过了:

var str = "answer";
if(eval(str) == undefined)
   eval("var " + str + " = {}");
alert(answer);
Run Code Online (Sandbox Code Playgroud)

但它的显示错误:ReferenceError:没有定义答案

jfr*_*d00 7

如果你必须使用javascript变量中的名称(事先不知道),那么你可以这样做:

var str = "answer";
if (typeof window[str] == "undefined") {
    window[str] = {};
}
Run Code Online (Sandbox Code Playgroud)

这使用了以下事实:所有全局变量都是窗口对象的属性(在浏览器中).


如果您提前知道变量的名称,那么您可以简单地执行此操作:

var answer = answer || {};
Run Code Online (Sandbox Code Playgroud)