目前我正在研究函数,我无法真正找出以下代码有什么问题。无论“密码”取什么值,我总是得到“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");
}