Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Javascript中是否存在变量的最佳方法?_Javascript_Variables_Global Variables_Undefined - Fatal编程技术网

检查Javascript中是否存在变量的最佳方法?

检查Javascript中是否存在变量的最佳方法?,javascript,variables,global-variables,undefined,Javascript,Variables,Global Variables,Undefined,我的问题很明显 例如: 使用默认值未定义的定义a: var a; 如果我想检查avar是否存在,我将尝试: 但在这种情况下,a确实存在,a值是未定义的,但在布尔求值中这是false var a;//默认值为“未定义” 如果(a){ 警报(“a存在”); }否则{ 警报(“a不存在”) }在JS中,变量有三种不同的可能性 变量“a”完全没有声明 变量“a”已声明,但未指定(未定义)。例如:var a 变量“a”已声明,但赋值为空或null。(如果变量试图从后端获取值,则可能出现这种情况) 前任

我的问题很明显

例如:

使用默认值
未定义的
定义
a

var a;
如果我想检查
a
var是否存在,我将尝试:

但在这种情况下,
a
确实存在,
a
值是
未定义的
,但在
布尔求值
中这是
false

var a;//默认值为“未定义”
如果(a){
警报(“a存在”);
}否则{
警报(“a不存在”)

}
在JS中,变量有三种不同的可能性

  • 变量“a”完全没有声明
  • 变量“a”已声明,但未指定(未定义)。例如:
    var a
  • 变量“a”已声明,但赋值为空或null。(如果变量试图从后端获取值,则可能出现这种情况)
    前任:
    
    var a=零;
    var a=“”
  • 如果您希望变量中有一个值,而不是0或false,那么最好使用以下条件。当然,这一切都是基于您的需要,如果您不确定变量或对象值,请始终将它们包含在try&catch块中

    //var a;
    //var a=零;
    //var a=“”;
    //var a=0;
    //var a='value';
    如果(a的类型!=“未定义”&&a){
    警报(“a已定义,a为真值”);
    }否则{
    警报(“a不存在或a为假值”);
    
    }
    在JS中,变量有三种不同的可能性

  • 变量“a”完全没有声明
  • 变量“a”已声明,但未指定(未定义)。例如:
    var a
  • 变量“a”已声明,但赋值为空或null。(如果变量试图从后端获取值,则可能出现这种情况)
    前任:
    
    var a=零;
    var a=“”
  • 如果您希望变量中有一个值,而不是0或false,那么最好使用以下条件。当然,这一切都是基于您的需要,如果您不确定变量或对象值,请始终将它们包含在try&catch块中

    //var a;
    //var a=零;
    //var a=“”;
    //var a=0;
    //var a='value';
    如果(a的类型!=“未定义”&&a){
    警报(“a已定义,a为真值”);
    }否则{
    警报(“a不存在或a为假值”);
    
    }
    如果默认情况下变量a未定义,则检查(typeof a==“undefined”)。对于第一个变量,
    a===undefined
    。第二,使用linters并观察开发人员控制台,这样您就可以修复忘记了
    var a
    的bug。不要使用不必要的
    typeof
    hacks来隐藏有用的错误信息,让bug不被发现。@Dekel我的问题是关于“最好的检查方法”,而不是“如何”。对不起,我的英语不好。如果你仔细检查问题的内容“检查变量是否已初始化的哪种方法更好/正确?”,这几乎与“最佳方法”相同(检查所有答案…)如果默认情况下变量a未定义,则检查(typeof a==“未定义”)。对于第一种方法,
    a==未定义
    。第二,使用linters并观察开发人员控制台,这样您就可以修复忘记了
    var a
    的bug。不要使用不必要的
    typeof
    hacks来隐藏有用的错误信息,让bug不被发现。@Dekel我的问题是关于“最好的检查方法”,而不是“如何”。对不起,我的英语不好。如果你仔细检查问题的内容,有“哪种检查变量是否已初始化的方法更好/正确?”,这几乎与“最佳方法”相同(检查所有答案…)