JS Cookie插件+如果语句不起作用

时间:2013-08-27 01:23:36

标签: javascript cookies

我正在尝试使用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 -->
  1. 是!==在这里测试不平等的合适操作员?
  2. 通过在引号中加1,我是否真的需要整数时测试字符串?
  3. 现在,代码的内部部分(新的HelloBar ...)永远不会被执行。

1 个答案:

答案 0 :(得分:1)

!==将检查类型和值两者

所以如果你想匹配整数

而不是

if($.cookie('returning_user') !== 1) {

===!==是严格的比较运算符:

  

JavaScript既严格又有   类型转换相等比较。   为了对象的严格平等   比较必须具有相同的类型和:

     
      
  • 当两个字符串具有相同的序列时,两个字符串严格相等   字符,长度相同,相同   相应位置的人物。
  •   
  • 两个数字在数值上相等时严格相等(有   相同的数值)。 NaN不是   等于任何东西,包括NaN。   正负零相等   彼此。
  •   
  • 如果两个布尔操作数都为真或两个,则它们严格相等   两者都是假的。
  •   
  • 如果两个对象引用相同的对象,则它们严格相等。
  •   
  • Null和Undefined类型是==(但不是===)。 [即Null ==未定义(但不是Null ===未定义)]
  •   

Comparison Operators - MDC

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