Javascript Azure移动服务-服务器端脚本-使用===
我刚刚开始玩Azure移动服务。这非常酷,但是在尝试更改服务器端数据库脚本时,我注意到了一些奇怪的事情。一个具体的问题是,在编写一个简单的语句时,如: 如果(results.length==0) 它警告我在与零比较时应该使用===而不是== 有人知道为什么吗?因为Javascript Azure移动服务-服务器端脚本-使用===,javascript,windows-phone-8,azure-mobile-services,Javascript,Windows Phone 8,Azure Mobile Services,我刚刚开始玩Azure移动服务。这非常酷,但是在尝试更改服务器端数据库脚本时,我注意到了一些奇怪的事情。一个具体的问题是,在编写一个简单的语句时,如: 如果(results.length==0) 它警告我在与零比较时应该使用===而不是== 有人知道为什么吗?因为 [] == 0 是真的,但是 [] === 0 不是 阅读(特别是严格平等)。因为 [] == 0 是真的,但是 [] === 0 不是 阅读(特别是严格相等)。在松散类型的语言中,使用==(严格相等运算符)而不是==(相
[] == 0
是真的,但是
[] === 0
不是
阅读(特别是严格平等)。因为
[] == 0
是真的,但是
[] === 0
不是
阅读(特别是严格相等)。在松散类型的语言中,使用==(严格相等运算符)而不是==(相等运算符)通常很有用,因为否则在相等检查期间对象的类型将被强制 例如,
“0”==0
,“==0
,[]==0
但是,没有一个==0
因此,如果结果
恰好是一个具有空属性长度
的对象,如下所示:
var results = {
length: ""
}
results.length==0
仍将计算为true
在松散类型语言中,使用===(严格相等运算符)而不是==(相等运算符)通常很有用,因为否则在相等检查期间将强制对象的类型
例如,“0”==0
,“==0
,[]==0
但是,没有一个==0
因此,如果结果
恰好是一个具有空属性长度
的对象,如下所示:
var results = {
length: ""
}
results.length==0
仍将计算为true
这不是真的null==0
。啊,这是真的,这是我的PHP。(在PHP中,null==0。在Javascript中它不。)编辑,谢谢。null==0
不是真的。啊,是的,这是我的PHP。(在PHP中,null不==0。在Javascript中它不。)。