使用“Not if”语句的语法

时间:2009-09-17 05:56:28

标签: jquery

这在语法上是否正确。

success: function(results) {         
            if (results.d.Name.length > 1) {       
               if (!(results.d.Id > 0)){      
                  results.d.Id = 0;    
               }
               var html = '<img style="float:left; height:100px;" src="inc/images/'
               + results.d.Id + '.gif" />' 
               // more code;
            }
         }

确定我想要零的原因是因为如果未分配id = 1235344,我需要显示0.gif(默认图像)。我怎样才能做到这一点。

3 个答案:

答案 0 :(得分:4)

大于(>)的反面是否小于(<)?

所以而不是:

if (!results.d.Id > 0)

尝试:

if (results.d.Id < 0)

根据您的评论:然后就这样做:

if (!results.d.Id)
    results.d.Id = 0;

如果变量是!false,未定义,0或空字符串,null运算符将返回false。更简单的方法是:

results.d.Id = results.d.Id || 0;

如果已经设置了ID(并且非零),则保留它,否则将其设置为零。这样您甚至不需要if语句。所以你的最终结果看起来像这样:

success: function(results) {         
    if (results.d.Name.length > 1) {       
        results.d.Id = results.d.Id || 0;
        // more code;
    }
}

答案 1 :(得分:0)

根据this!(非)运算符在>(比较)之前执行。

替换此

            if (!results.d.Id > 0) {      

用这个

            if (!(results.d.Id > 0)) {      

答案 2 :(得分:0)

缺少结束括号,我在您的情况中添加了()

success: function(results) {
    if (results.d.Name.length > 1) {
        if (!(results.d.Id > 0)) {
            results.d.Id = 0;
        }
        //more code;
    }
}