синтаксис для использования оператора "Not if" - PullRequest
0 голосов
/ 17 сентября 2009

Является ли это синтаксически правильным.

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 ]

4 голосов
/ 17 сентября 2009

Разве противоположность больше (>) не будет меньше (<)?

Так что вместо:

if (!results.d.Id > 0)

Попробуйте:

if (results.d.Id < 0)

За ваш комментарий: Тогда просто сделайте это:

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

Оператор ! возвращает значение false, если переменная false, null, undefined, 0 или пустая строка. Еще более простой способ сделать это будет следующим:

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

Если идентификатор уже был установлен (и не равен нулю), сохраните его, иначе установите его на ноль. Таким образом, вам даже не нужно выражение if. Таким образом, ваш конечный результат будет выглядеть примерно так:

success: function(results) {         
    if (results.d.Name.length > 1) {       
        results.d.Id = results.d.Id || 0;
        // more code;
    }
}
0 голосов
/ 17 сентября 2009

Закрывающие скобки отсутствуют, и я добавил ( и ) в вашем состоянии

success: function(results) {
    if (results.d.Name.length > 1) {
        if (!(results.d.Id > 0)) {
            results.d.Id = 0;
        }
        //more code;
    }
}
0 голосов
/ 17 сентября 2009

Согласно this , оператор ! (not) выполняется перед > (сравнение).

заменить это

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

с этим

            if (!(results.d.Id > 0)) {      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...