2014-09-28 5 views
0

나는 자바 스크립트를 배우기 위해이 작은 스크립트를 만들었습니다. 하지만 예기치 않은 토큰 스위치가 계속 나타납니다. 하지만 괭이가 설정되어 있습니다.여기에 무슨 문제가 있습니까?

HTML :

<p id="new">test<p> 
    <input id="button" type="submit" name="button" value="enter" /> 

JS :

var switch = true; 

if (switch == false){ 
document.getElementById('button').onclick = function() { 
document.getElementById("new").innerHTML = "Mijn Naam!"; 
    var switch = true; 
}; 
} else { 
document.getElementById('button').onclick = function() { 
document.getElementById("new").innerHTML = "shiva"; 
    var switch = false; 
}; 
} 
+4

'switch'이 예약 된 키워드 (HTTPS입니다. mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords) - 동일한 변수를 다시 선언하는 이유는 – Ian

+2

변수에 다른 이름을 사용하십시오. –

+0

botton 루프를 true로 만드는 이유는 다음과 같습니다. if 문 :) 거기에 더 나은 WA입니다 와이? –

답변

0

switch은 예약 된 단어입니다. 다른 변수 이름을 사용해야합니다. 그런데

, 코드는 다음과 같이 압축을 할 수 있습니다 :

var switchOn = true; 

document.getElementById('button').onclick = function() { 
    document.getElementById("new").innerHTML = 
     switchOn ? "shiva" :"Mijn Naam!"; 
    switchOn = !switchOn; 
} 
+0

당신은 저에게 그것을 내기! – FredL

4

방법에 대해 : // 개발자 :

<p id="new">test<p> 
<input id="button" type="submit" name="button" value="enter" /> 

var clicked = false; 

document.getElementById('button').onclick = function() { 
    document.getElementById("new").innerHTML = clicked ? "shiva" : "Mijn Naam!"; 
    clicked = !clicked; 
}; 
+0

와우 감사합니다! 나는 아직도 배울 것이 많다! –

+1

은 다음과 같습니다. clicked =! 클릭; 클릭을 false로 다시 설정 하시겠습니까? –

+0

예, clicked =! 클릭 된 선은 값을 토글합니다. 느낌표는 "아닙니다"를 의미합니다. 그것은 또 다른 작성법입니다 : if (clicked == true) {clicked = false; } else {clicked = true; } – FredL

관련 문제