Как вернуть значение, возвращенное функцией не неопределенной, иначе "ничего не делать" в JS - PullRequest
0 голосов
/ 08 февраля 2012

Так что у меня есть 2 функции, такие как

var a = function () {

  // returns something or returns nothing  

}

var b = function () {

  //call a() here and return value returned from a() if a() returns something, else continue with execution of b()       

}

Я знаю, что могу иметь переменную для хранения возвращаемого значения и использовать ее, но каков самый простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Вам не нужно беспокоиться о том, что a() возвращает. Просто присвойте это возвращаемое значение локальной переменной, сделайте другие вещи и затем верните эту локальную переменную. Если a() имеет возвращаемое значение, оно будет в этой локальной переменной и будет возвращено. Если a() не имеет возвращаемого значения, значение локальной переменной будет undefined, что вы и будете возвращать из b(). Это работает в любом случае.

var b = function () {
     var retVal = a();

    // do other stuff

    return(retVal);   // works whether a() had a return value or not
}

Я не был уверен в вашем вопросе. Если вы хотите проверить возвращаемое значение a(), чтобы увидеть, имеет ли оно возвращаемое значение, то вы можете сделать это:

var b = function () {
     var retVal = a();
     if (retVal === undefined) {
         // do one thing
     } else {
         // do another thing
     }

    // do other stuff

    return(retVal);   // works whether a() had a return value or not
}
0 голосов
/ 08 февраля 2012
function b() {
    // Return the value returned from a() if it returned something.
    var result = a();
    if (result !== undefined) {
        return result;
    }

    // continue with execution of b.
}

Это не будет отличать undefined, которое следует от

return;

из undefined, полученного из

return undefined;

но если вы знаете, a() всегда возвращает значение, кроме undefined, когда оно намеренно возвращает значение, на которое вы можете положиться !== undefined.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...