-2

私はコードアカデミーを介してJavaScriptを独学しており、「予期しないトークンelse」を取得し続けています。何が欠けていますか:

function creditCheck(income) {
    var ans = 100; if(income>=100);     
    return("You earn a lot of money! You qualify for a credit card."); 
} 
else {     
    return("Alas you do not qualify for a credit card. Capitalism is cruel like that." ); 
} 

creditCheck(75);
creditCheck(125);
クレジットチェック(100);

4

5 に答える 5

1

JSLint は、与えられた例について不平を言うでしょう。それは好む:

function creditCheck(income) {
   var ans = 100; 
   if (income >= 100) {
       return("You earn a lot of money! You qualify for a credit card."); 
   } 
   return("Alas you do not qualify for a credit card. Capitalism is cruel like that."); 
}

これについて言及するのは、コード例の else は、最終的なリターンのみが含まれている場合は不要だからです。

于 2013-10-01T17:22:15.463 に答える
0

あなたのコードはfunction creditcheck() { ...} else {...} 、関数にelse{}. if で小さな間違いを犯しました。これが正しい方法です。

function creditCheck(income) {
    var ans = 100;
    if(income>=100){
        return("You earn a lot of money! You qualify for a credit card."); 
    } 
    else {     
        return("Alas you do not qualify for a credit card. Capitalism is cruel like that." ); 
    } 
}

または私が使用する方法:

function creditCheck(income) {
    var ans = 100;
    var returnValue;
    if(income>=100){ returnValue = "You earn a lot of money! You qualify for a credit card."; } 
    else {           returnValue = "Alas you do not qualify for a credit card. Capitalism is cruel like that."; } 

    return returnValue; // Return it at the end. This way the action `return` only happends at the end
}

これにより、デバッグがより簡単になります。どの値が返されるかを確認したい場合は、戻り値console.log(returnValue);の上に行を追加するだけです。

于 2013-10-01T17:06:48.927 に答える
0

1 つ削除します。{を追加します

function creditCheck(income) 
{
       var ans = 100; 
       if(income>=100)
       {
           return("You earn a lot of money! You qualify for a credit card."); 
       } 
       else
       {     
           return("Alas you do not qualify for a credit card. Capitalism is cruel like that."   ); 
       }
}

{ を置きたくない場合は、書くことができます..

function creditCheck(income) 
{
       var ans = 100; 
       if(income>=100)
           return("You earn a lot of money! You qualify for a credit card."); 
       else
           return("Alas you do not qualify for a credit card. Capitalism is cruel like that."   ); 
}
于 2013-10-01T17:08:57.720 に答える
0

さて、これはあなたのコードを解決する方法です:

function creditCheck(income) {
    var ans = 100; 
    if(income>=100){     
        return("You earn a lot of money! You qualify for a credit card."); 
    }else {     
        return("Alas you do not qualify for a credit card. Capitalism is cruel like that." ); 
    }
} 

else は if ステートメントの直後にある必要があります

于 2013-10-01T17:09:47.207 に答える
0

各開きかっこに対応する閉じかっこがあることを確認することが重要です。

あなたのコード:

function creditCheck(income) {
    var ans = 100;
    if(income>=100);
    return("You earn a lot of money! You qualify for a credit card."); 
    } 
    else {     
        return("Alas you do not qualify for a credit card. Capitalism is cruel like that." ); 
} 

次のようにフォーマットする必要があります。

function creditCheck(income)
{
    var ans = 100;
    // I'm assuming that you mean to compare 'income' with 'ans'
    // Notice that I replaced ';' with an opening bracket here
    if(income>=ans) 
    {  
        return("You earn a lot of money! You qualify for a credit card."); 
    }
    else
    {     
        return("Alas you do not qualify for a credit card. Capitalism is cruel like that." );
    }
    // And here I've added a closing bracket
}

括弧で形成された条件付きブロック ( などif) 内に 1 つの操作しかない場合、実際には開き括弧と閉じ括弧は必要ありません。下記参照。

// 
function creditCheck(income)
{
    var ans = 100;
    // See, no more brackets here
    if(income>=ans) 
        return("You earn a lot of money! You qualify for a credit card."); 
    else
        return("Alas you do not qualify for a credit card. Capitalism is cruel like that." );
}
于 2013-10-01T17:09:58.680 に答える