0

現時点では関数を勉強していますが、次のコードの何が問題なのか本当にわかりません。「パスワード」がどんな値を取っても、私はいつも「NICE」を取得します

var passValid = function (password) {
    return password.length;
};

if (passValid<5){
    console.log("ERROR");
}
else{
    console.log("NICE");
}

passValid("somevalue");
4

3 に答える 3

5

私はあなたが欲しいと思います:

if (passValid("password") < 5) {
  console.log("ERROR");
}
else {
  console.log("NICE");
}

元のコードが間違っている理由を説明する方法がわかりません。それは雑草の中でちょっとオフです:-)

于 2012-11-20T15:16:35.337 に答える
2

関数呼び出しに引数がありません

if (passValid<5)//no argument
if (passValid("passowrd")<5)//pass an argument
passValid("somevalue");//no need for this

また

var passValid = function (password) {
    //return password.length;remove this from here
//}; remove this from here

if (password.length<5){
    console.log("ERROR");
}
else{
    console.log("NICE");
}
}; //add here so now entire is function
passValid("somevalue");
于 2012-11-20T15:33:04.330 に答える
1

関数を呼び出すのではなく、その関数によって返された値を使用する代わりに、関数自体を数値と比較しようとします。

あなたの場合passValid、関数への単なる参照です。値を返すには、次を使用して呼び出しを発行する必要があります。passValid( "someValueInHere" );

代わりにこれを試してください:

var passValid = function (password) {
  return password.length;
};

if ( passValid("somevalue") < 5){
  console.log("ERROR");
} else {
  console.log("NICE");
}
于 2012-11-20T15:17:04.893 に答える