为什么这会在If If Failing Here中爆炸

时间:2013-07-05 06:27:55

标签: javascript

div PermanentHiddenDiv3 中的值可以是-11,1,6,12,17,18或29。

但是,在此代码存在的脚本中,值应该是 只有18岁。所以,我可以坚持下去。

另一方面,如果我可以将其与其他值一起使用 也处理好了。

var OMGxAlgebra = function(evt){
    var AltReality = document.getElementById("Latent29");
    var AreYouSAVED;
    var SingleEval = document.getElementById("PermanentHiddenDiv3");
    var ThinkingIsAntiSocial = SingleEval.textContent;
    OhItIS = ThinkingIsAntiSocial*1;

     //  You can write this ::
     //          if(OhItIS==18){
     //              AreYouSAVED="";
     //              AltReality.textContent=AreYouSAVED;
     //          }        
    if(OhItIS==18){
    AreYouSAVED="";
    AltReality.textContent=AreYouSAVED;
    }        
};

上面的代码有效,但下一个没有。我认为在JavaScript中 这个语法有效???

if(!somevar==X){}

if(!OhItIS==29){
    AreYouSAVED="";
    AltReality.textContent=AreYouSAVED;
}        

上下文中的代码:http://jsfiddle.net/MountainMan72/4gySs/ ...以防万一 我错过了一些外部绊网。

3 个答案:

答案 0 :(得分:4)

使用

if (OhItIS != 29){
    AreYouSAVED="";
    AltReality.textContent=AreYouSAVED;
} 

爆炸发生在=

之前
!=

答案 1 :(得分:2)

我很确定您要使用OhItIS != 29

使用!OhItIS == 29将OhItIs转换为布尔值并将其与29进行比较。显然,结果是您不想要的结果。

在浏览器中尝试验证:

var ohitis = 29;
console.log(!ohitis);

这应打印出false;

答案 2 :(得分:2)

优先规则意味着!x==y解析为(!x) == y,而不是!(x == y)。正如其他答案所说,使用x != y来避免这个问题。