Jon*_*onn 23 javascript exception truthiness
在IE和Chrome中,在JavaScript控制台中输入此内容会引发异常:
{} == false // "SyntaxError: Unexpected token =="
Run Code Online (Sandbox Code Playgroud)
但是,所有这些语句的评估都没有问题:
false == {} // false
({} == false) // false
var a = {};
a == false // false
Run Code Online (Sandbox Code Playgroud)
这是故意的行为吗?为什么会这样?
ajp*_*243 25
在控制台中,当您使用时启动语句时{}
,您不是创建对象文字,而是创建代码块(即与使用if
语句或循环体创建的块相同).==
之后显然不会出现像这样的符号.
如果你想到一个代码块,你知道a = 5;
可能会有类似的东西:
if (some_condition) {
// do something
}
a = 5;
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用它在控制台中进行测试,并发现它可以正常工作:
{} a = 5;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
562 次 |
最近记录: |