Javascript语法 - 如果语句和函数调用

TBE*_*TBE 4 javascript node.js

我有一个语法问题,让我说我有以下功能.它收到拼写检查的文本并返回正确的文本或假,如果文本拼写正确.

var spellCheck = function (txt) {
    var spelledTxt = spell(txt);
    if (spelledTxt =! txt) { //the text had a typo.
        return spelledTxt;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

现在在一个不同的函数中我想从ElseIf语句调用这个函数,我想只有在文本有一个错误被纠正的情况下进入该语句.就像是:

if(something){
    do something....
}else if(spellCheck(word)){
    do something with the spelledTxt that was returned from "spellcheck"
}
Run Code Online (Sandbox Code Playgroud)

我可以这样做:

else if(var spelledWord = spellCheck(word))
    do something with spelledWord.
Run Code Online (Sandbox Code Playgroud)

我忘记了一个非常重要的事情:spellCheck(word)功能非常繁重,如果不需要,我想避免调用它.这意味着只有当我们到达else if()它时才会被召唤,而不是更快.

Ami*_*mit 5

任何表达式在if语句中都是有效的,并且包含赋值表达式.赋值表达式的值是指定的值.

在您的情况下,函数调用的返回值是表达式的值,但var使其成为语句而不是简单表达式.

您需要从语句中删除变量声明部分,然后就可以了.

或者,您可以这样做:

else {
 var spelledWord = spellCheck(word);
 if(spelledWord)
    do something with spelledWord
}
Run Code Online (Sandbox Code Playgroud)