2015-02-03 4 views

답변

5

if() {}

Array.prototype.random = function(length) { 
 
    return this[Math.floor(Math.random() * length)]; 
 
}; 
 

 
var country = [{ 
 
    name: "romaniei", 
 
    capital: "bucuresti" 
 
    }, { 
 
    name: "bulgariei", 
 
    capital: "sofia" 
 
    }], 
 
    questions = [ 
 
    "What is the capital of ", 
 
    " is the capital of what country?" 
 
    ] 
 

 
document.querySelector('input').onclick = function() { 
 
    var q, 
 
    chosen_country = country.random(country.length), 
 
    chosen_question = questions.random(questions.length); 
 

 
    if (chosen_question == questions[0]) { 
 
    q = chosen_question + chosen_country.name + "?"; 
 
    } else if (chosen_question == questions[1]) { 
 
    q = chosen_country.capital + chosen_question; 
 
    } 
 

 
    document.querySelector('#que').innerHTML = q; 
 
} 
 

 
var checkAnswer = function() { 
 
    var answer = document.myform.answ.value; 
 
    if() {} 
 
}
<form name="myform"> 
 
    <input type="button" value="Generate question"> 
 
    <div id="que">Intrebare:</div> 
 
    <input type="text" id="answ"> 
 
    <input type="button" value="ok"> 
 
</form>

유효한 if 문이 아닌 - 상태의 몸은 식이어야합니다.

출처 : ECMAScript 5 spec

예를 들어,이 중 하나가 유효합니다

if (true) {} 
if (1 < 2) {} 
if("") {} 
+2

일반 말해 : 둥근 괄호 안에 뭔가를 추가 할 수 있습니다. –

+0

좋아, 이제 좀 이해가된다. 하지만 if 문에 조건을 넣지 않으면 나머지 코드가 실패하는 이유는 무엇입니까? 마지막 함수는 myform을 처리하는 다른 함수의 일부가 아닙니다. 그 이유는 if statment에 조건이있는 경우 모든 코드가 왜 의존하는지에 대해 이해하지 못하는 이유입니다. –

+1

자바 스크립트 엔진은 코드를 실행하기 전에 코드를 파싱해야합니다. 잘못된 형식의 구문은 구문 분석기가 구문 분석을 중지하는 'SyntaxError'를 throw합니다. 코드를 구문 분석 할 수 없으면 실행할 수 없습니다. – joews