检查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我的问题是关于“最好的检查方法”,而不是“如何”。对不起,我的英语不好。如果你仔细检查问题的内容,有“哪种检查变量是否已初始化的方法更好/正确?”,这几乎与“最佳方法”相同(检查所有答案…)