在此代码中,myVar
的哪些值将表现为true
和false
?
if(myVar){}
例如,在JavaScript中,以下值为falsy
null
undefined
0
''
false
答案 0 :(得分:11)
<强>对象强>
如果实例为false
,则
null
;true
否则
<强>字符串强>
false
如果值为null
或空字符串""
;true
否则
Number,int或uint
如果值为false
或NaN
,则
0
;true
否则
<强>空强>
false
来自here。
答案 1 :(得分:1)
如果(myVar)
是一个bool,那么如果它是真的那么它会明显通过,如果没有则会失败。如果bool从未初始化(例如var myBool:Boolean;
而不是var myBool:Boolean = true
),那么默认情况下它是假的。同样的概念适用于内置对象,如Number,int等。如果通过对象构造函数或通过直接赋值初始化对象,它只会传递为true,如下所示:
var a:MovieClip = new MovieClip();
var b:MovieClip = a;