2013-11-02 4 views
-2

확인에 동일, 난 정말 내가 예를 들어 사용하는 단어로 그것을 단어를 설명 할 수 없습니다 내가 <script>f1();f2();</script>를 사용할 때 NOW자바 스크립트 변수가 변수 사실

function f1() { 
    document.write(vavariable) 
}; 

function f2(){ 
    if(variablefot) 
    document.body.style.color='red'; 
}; 

variablefot = false; 
variablefotok = variablefot = true; 
variable1 = 'text1' +variablefotok; 

variable2 = 'text2'; 

vavariable = variable1 

을 vavariable = 변수 1 내가 빨간색 텍스트 1을 얻어야한다 하지만 빨간색 텍스트 1 + 텍스트를 얻고있다 '진실'

내가 빨간색 더 바디 컬러와 텍스트 2 싶어하지만 난 여전히 RED 텍스트 2

나는 그것을 위스콘신을하려고했다가 받고 vavariable2 내가 사용하는

th 기능을 수행하지만 작동하지 않습니다.

제발 도와주세요. 벌써 몇 시간을 보냈다. 고맙습니다!

+0

원하는 것을 설명해 주시겠습니까? – Popnoodles

+0

나는 vavariable = variable1을 사용할 때 text1과 body color를 빨간색으로하고 싶습니다. 그리고 vavariable = variable2를 사용하면 붉은 몸 색깔이없는 text2를 얻고 싶습니다. – Simon

+1

첫 번째 코드 블록의 맨 아래에서'f1'과'f2'를 호출하기 전에 변수에 무엇이 있다고 생각합니까? – Sumurai8

답변

1

Variablefotok는 true와 동일하므로 true가 기록됩니다.

본문 색상을 변경하려면 색상을 기본값 인 검은 색으로 변경하는 것만 제외하고 f2 기능을 사용하십시오. 기본적으로 문서에 텍스트를 쓰고 매번 변수에 따라 색상을 변경하거나 <span style="color:red">text</span> 또는 <span style="color:black">text</span>과 같은 HTML 코드를 문서에 쓸 수 있습니다. 인라인 CSS 선언 대신에 클래스를 사용할 수도 있습니다. 이 경우에 해당됩니다.

function write(){ 
    document.write(text); 
    document.body.style.color = color; 
} 

variable1 = 'text1'; 
variable2 = 'text2'; 

해당 코드를 사용하면 다음 기능 만 실행할 수 있습니다. 변수에 모든 텍스트가 저장되어 있으면 원하는대로 사용할 수도 있습니다.

variablefotok = variablefot=true; 

처음 variablefot에 충실 할당합니다 다음 variablefotok하기 :

write(variable1, 'red'); 
write(variable2, 'black'); 
write(variable3, 'green'); 
write(variable4, 'blue'); 
write(variable5, 'brown'); 
write(variable6, 'yellow'); 
0

음으로 시작합니다. 따라서 두 가지 모두 사실 일 것입니다. variablefotok이 true 때문에

variable1 = 'text1' +variablefotok; 

, 변수 1은 지금 'text1true' 될 것입니다. 따라서 변수는 결국 'text1true'이됩니다.

function f2(){ 
    if(variablefot) 
     document.body.style.color='red'; 
}; 

variablefot = true 인 경우 신체 색을 빨강으로 바꿉니다. 이 것이 사실이기 때문에, 변수의 값에 상관없이 항상 신체의 색을 빨간색으로 바꿀 것입니다.

0

정말로 어쨌든 도움이 될 수도 있습니다. 내가하지만 '사실'빨간색 텍스트 1 + 텍스트를 얻고 빨간색 텍스트 1을 얻어야한다

http://jsfiddle.net/ySqGg/

당신이 "추가"하기 때문에이 문제가 발생 : 여기

더 많거나 적은 당신이 무슨이다 문자열에 true

variablefotok = variablefot=true; 
// variablefotok and variablefofot are now both set to true 

variable1 = 'text1' +variablefotok; 
// same as: variable1 = 'text1' + true; 
// `true` is converted into a string so it can be combined with a string 
// variable1 is now `text1true` 

그렇다면 왜 그런가요?잘 한 줄 앞에서 볼 수 있습니다 : 다음과 같이

variablefot = false; 
variablefotok = variablefot = true; 

이가 명확하게 할 수 있습니다

variablefot = false; 
variablefotok = (variablefot = true); 

을 그래서 먼저 falsevariablefot을 설정합니다. 다음 줄에서는 true으로 설정합니다. 할당 문은 할당 된 값을 반환하므로 variablefotok도 true로 설정합니다.

나중에 f2이 실행되고 variablefot이 이제 빨간색으로 표시됩니다.

대신 비교를 원하십니까? variablefotfalse를 남아 있기 때문에이 변화

variablefotok = (variablefot == true); 

는, 텍스트, 하지 회전 빨간색을 수행합니다. http://jsfiddle.net/ySqGg/1/

하지만 거의 아무것도 비교할 필요가 없습니다. true. 변수는 true 또는 false이므로 간단히 사용할 수 있습니다.

variablefotok = variablefot; 

빨간색으로 바뀌지 않습니다. 참조 : http://jsfiddle.net/ySqGg/2/


이것은 당신이 많은 변수를 설정,하지만 (f2에서 variablefot) usefult 아무것도 하나를 사용하고 있기 때문에 답변을 혼란이다. 제가 당신이라면 어떤 변수가 있는지 생각해보고 정말로 필요한 모든 변수를 확인한 다음 다른 변수를 삭제하십시오.

관련 문제