2012-11-20 4 views
0

지금 나는 함수를 공부하고 있는데, 다음 코드를 통해 무엇이 잘못되었는지 알 수 없다. 상관없이 값 "암호는"나는 항상 내가 원하는 생각내 코드의 문제점은 무엇입니까?

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

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

passValid("somevalue"); 

답변

5

을 "좋은"얻을 취

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

내가 원래 코드가 잘못된 이유를 설명하는 방법을 잘 모르겠어요; 그것은 일종의 잡초에서 벗어난 것입니다 :-)

1

함수를 호출하지는 않지만 해당 함수가 반환 한 값을 사용하는 대신 함수 자체를 숫자와 비교해보십시오.

귀하의 경우 passValid은 단지 기능에 대한 참조 일뿐입니다. 값이 passValid("someValueInHere");

를 사용하여 당신이 그것에 전화를 실행해야합니다 반환하려면 대신을 시도해보십시오

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

if (passValid("somevalue") < 5){ 
    console.log("ERROR"); 
} else { 
    console.log("NICE"); 
} 
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"); 
관련 문제