我的代码有什么问题?

时间:2012-11-20 15:14:41

标签: javascript syntax

目前我正在学习各种功能,而我无法真正找出以下代码的错误。 无论什么价值"密码"我总是得到" NICE"

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

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

passValid("somevalue");

3 个答案:

答案 0 :(得分:5)

我想你想要:

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

我不确定如何描述原始代码错误的原因;它只是杂草中的一种: - )

答案 1 :(得分: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");

答案 2 :(得分:1)

您不调用该函数,但尝试将函数本身与数字进行比较,而不是使用该函数返回的值。

在您的情况下,passValid只是对该功能的引用。要返回值,您必须使用passValid( "someValueInHere" );

向其发出呼叫

请改为尝试:

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

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