我正在尝试使用JS Cookie插件来读取cookie的值,如果值不是1,则包含一个通知栏(Hello Bar)。
这是我的代码:
<!-- HelloBar code start -->
<script type="text/javascript" src="//www.hellobar.com/hellobar.js"></script>
<script type="text/javascript">
if($.cookie('returning_user') !== '1') {
new HelloBar(12345,12345);
}
</script>
<!-- HelloBar code end -->
现在,代码的内部部分(新的HelloBar ...)永远不会被执行。
答案 0 :(得分:1)
!==
将检查类型和值两者
所以如果你想匹配整数
而不是
if($.cookie('returning_user') !== 1) {
===
和!==
是严格的比较运算符:
JavaScript既严格又有 类型转换相等比较。 为了对象的严格平等 比较必须具有相同的类型和:
- 当两个字符串具有相同的序列时,两个字符串严格相等 字符,长度相同,相同 相应位置的人物。
- 两个数字在数值上相等时严格相等(有 相同的数值)。 NaN不是 等于任何东西,包括NaN。 正负零相等 彼此。
- 如果两个布尔操作数都为真或两个,则它们严格相等 两者都是假的。
- 如果两个对象引用相同的对象,则它们严格相等。
- Null和Undefined类型是==(但不是===)。 [即Null ==未定义(但不是Null ===未定义)]
0==false // true
0===false // false, because they are of a different type
1=="1" // true, auto type coercion
1==="1" // false, because they are of a different type