检查myvar
javascript variable === false
的最佳方法是什么?(也可能未定义)。检查变量是否为假,但不是真或不确定
if (myvar === false)
将被罚款,但myvar
它可能是不确定的。只有false
的值是可以接受的,而不是未定义的。
任何短于if (typeof myvar !== "undefined" && myvar === false)
?
检查myvar
javascript variable === false
的最佳方法是什么?(也可能未定义)。检查变量是否为假,但不是真或不确定
if (myvar === false)
将被罚款,但myvar
它可能是不确定的。只有false
的值是可以接受的,而不是未定义的。
任何短于if (typeof myvar !== "undefined" && myvar === false)
?
如果变量是声明则:
if (myvar === false) {
将正常工作。 ===
将不会考虑false
未定义。
如果是undefined
和未声明,那么您应该在尝试使用它之前检查它的类型(否则您将得到一个引用错误)。
if(typeof myvar === 'boolean' && myvar === false) {
也就是说,如果您打算尝试使用该变量,则应确保始终声明该变量。
var myvar;
// ...
// some code that may or may not assign a value to myvar
// ...
if (myvar === false) {
if (myvar !== undefined && myvar === false)
怎么样?
'undefined'可以重新定义为其他值,所以你应该总是使用'typeof'或者定义一个本地'undefined'。 – 2014-09-25 19:39:25
@Derek朕会功夫不再适用于现代浏览器。 – 2014-09-25 19:41:15
@IngoBürk - 互联网上的大多数用户没有现代浏览器,特别是商业环境中的电脑。 – 2014-09-25 19:42:34
if(typeof myvar === 'boolean' && !myvar)
*仅*'FALSE'或'undefined',或者你只是寻找任何 “falsy” 值,这将只是'如果(MYVAR)...'? – adeneo 2014-09-25 19:37:59
你应该工作得很好,或者如果你真的想明确,那么'if((myvar === false)&&(myvar!== undefined)){' – PlantTheIdea 2014-09-25 19:38:53