現時点では関数を勉強していますが、次のコードの何が問題なのか本当にわかりません。「パスワード」がどんな値を取っても、私はいつも「NICE」を取得します
var passValid = function (password) {
return password.length;
};
if (passValid<5){
console.log("ERROR");
}
else{
console.log("NICE");
}
passValid("somevalue");
現時点では関数を勉強していますが、次のコードの何が問題なのか本当にわかりません。「パスワード」がどんな値を取っても、私はいつも「NICE」を取得します
var passValid = function (password) {
return password.length;
};
if (passValid<5){
console.log("ERROR");
}
else{
console.log("NICE");
}
passValid("somevalue");
私はあなたが欲しいと思います:
if (passValid("password") < 5) {
console.log("ERROR");
}
else {
console.log("NICE");
}
元のコードが間違っている理由を説明する方法がわかりません。それは雑草の中でちょっとオフです:-)
関数呼び出しに引数がありません
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");
関数を呼び出すのではなく、その関数によって返された値を使用する代わりに、関数自体を数値と比較しようとします。
あなたの場合passValid、関数への単なる参照です。値を返すには、次を使用して呼び出しを発行する必要があります。passValid( "someValueInHere" );
代わりにこれを試してください:
var passValid = function (password) {
return password.length;
};
if ( passValid("somevalue") < 5){
console.log("ERROR");
} else {
console.log("NICE");
}