如果变量之一未定义所有脚本停止工作,避免错误

avoid errors if one of variable undefined all script stop working

我的问题仅限于缺少变量的值

用户可以输入这个变量的值

var name = "name";
var age = "age";
var sex = "sex";
var weight = "weight";

如果没有定义一个变量,它会使所有脚本停止什么是避免此错误的最佳方法尝试使用

switch (variable){
default:
//codes
breake;
}

    switch (variable){
    case undefined:    //codes
    breake;
    }

if(typeof variable==='undefined'){
//do that
}

在这种情况下需要更多提示和建议,特别是如果我们有大代码块..请为中级学习者分享您的经验

注意:只是我的用户代码包含带有外部 script.js 嵌入的 vars

通常你会这样做:

if (typeof variable === "undefined")

但是只要变量存在(比如声明过),就可以

if (variable === undefined)

...或者 switch 也可以。如果您的代码可能是 运行 在变量可能已经或可能未被 声明 的环境中,那么您需要使用 typeof 版本来避免获取ReferenceError.

我可以 发誓 有交叉 window 个案例,其中一个 window 中的 undefined 不是 ===到另一个 window 中的 undefined (所以 typeof 会在另一个不会工作的地方工作),但我前一段时间仔细检查过,如果它是真的,它似乎不再是真的了。当然,这是一个边缘案例。

我 运行 多次遇到这个问题,我总是要求变量本身。

if(name && age && sex && weight ){
     do something here ...
}

您可以在浏览器控制台中对此进行测试。正常按F12,找控制台,测试。

请务必注意变量必须已在您的代码中声明,否则您可能引用了一个不存在的变量。