2016-06-08 5 views
0

나는 자바 스크립트를 배우고 그리고 나는이 내가 아래 반환 값을 이동 위치를 아래 코드와 같은 경우를 알고 싶습니다자바 스크립트 리턴 값 위치

function validateForm() { 
    var x = document.forms["myForm"]["fname"].value; 
    if (x == null || x == "") { 
    alert("Name must be filled out"); 
    return false; 
    } 
} 

이 코드 샘플을 발견? ?

function validateForm() { 
var x = document.forms["myForm"]["fname"].value; 
if (x == null || x == "") { 
    alert("Name must be filled out");   
} 
return false; 
} 
+3

없음 , 그것은 동일하지 않다 – devnull69

+1

아니요. 첫 번째는'fname'의 값이 비어있을 때'false'를 반환합니다. 두 번째 _always_는 false를 반환합니다. – Pimmol

+0

@Pimmol _always_라는 단어를 강조해 주셔서 감사합니다. 짧고 명확한 대답. 감사! :) – Randy

답변

2

번호

는 당연히는 return false 외부 조건 블록을 이동하면 거짓 항상 반환에 변경을 의미합니다.

당신은 함수가 호출되는 방식의 컨텍스트를 제공하지 않은,하지만 이것의 가능성이 가장 높은 효과의 동작을 변경하는 것입니다

: 필드가 작성되지

경우 경고를 표시를 양식 제출을 중단하십시오. 그렇지 않으면 양식을 제출하십시오. 필드가 작성되지 않은 경우

에 경고를 표시하고 제출에서 양식을 중지합니다. 그렇지 않으면 양식 제출을 중단하십시오. 어떠한 상황에서도 양식을 제출하지 마십시오.

+0

나는 당신이 결코 form_을 제출하지 않는다고 말했을 때 약간 재미 있다고 본다. 사실 이것은 두 번째 버전의 결과입니다. : D 고마워! – Randy

2

아니요. return 문이 함수에서 누락 된 경우 마지막 줄 경우, 당신은 그것을 치료해야합니다

return undefined; 

그래서, 버전 하나

function validateForm() { 
    var x = document.forms["myForm"]["fname"].value; 
    if (x == null || x == "") { 
    alert("Name must be filled out"); 
    return false; 
    } 
    return undefined; 
} 

버전이 :

function validateForm() { 
    var x = document.forms["myForm"]["fname"].value; 
    if (x == null || x == "") { 
    alert("Name must be filled out");   
    } 
    return false; 
} 
+0

정확하고 깨끗합니다! 정말 고맙습니다! :) – Randy