2008-10-27 4 views
0

업데이트 : 응답에 감사드립니다. document.write()가 더 이상 사용되지 않습니다. 학습 칼럼에 또 다른 노치를 추가하십시오. 나는 조언을 여기에 올리 겠지만 원래의 질문을 그대로두고 주어진 답이 원래의 질문의 맥락에서 이해되도록하십시오.긴 write() 인수를 처리하는 가장 좋은 방법은 무엇입니까?


나는 다소 긴 쓰기() 인수를 코딩하는 과정에있어 및 구문, 가독성과 성능을 고려, 따라하기 가장 좋은 것입니다 다음과 같은 예를 결정하려합니다. 해야합니까

a. 모두 한 줄로 유지하십시오.

<script> 

    var someVariable = "(<a href=\"http://www.example.com\">Link<\/a>)"; 

    document.write("<p>Supergroovalisticprosifunkstication and Supercalifragilisticexpialidocious are very long words.</p>" + someVariable + "<p>Dociousaliexpisticfragilicalirepus is Supercalifragilisticexpialidocious spelled backwards.</p>" + someVariable); 

</script> 

b. 약간의 가독성을 위해 줄 바꿈을 추가하여 줄 바꿈 :

<script> 

    var someVariable = "(<a href=\"http://www.example.com\">Link<\/a>)"; 

    document.write("<p>Supergroovalisticprosifunkstication and Supercalifragilisticexpialidocious are very long words.</p>" 
     + someVariable 
     + "<p>Dociousaliexpisticfragilicalirepus is Supercalifragilisticexpialidocious spelled backwards.</p>" 
     + someVariable); 

</script> 

c. 여러 변수를 사용하여 문제를 해결하십시오.

<script> 

    var someVariable = "(<a href=\"http://www.example.com\">Link<\/a>)"; 

    var partOne = "<p>Supergroovalisticprosifunkstication and Supercalifragilisticexpialidocious are very long words.</p>"; 
    var partTwo = "<p>Dociousaliexpisticfragilicalirepus is Supercalifragilisticexpialidocious spelled backwards.</p>"; 

    document.write(partOne + someVariable + partTwo + someVariable); 

</script> 

미리 감사드립니다.

+0

@CodeCurious - 원래 질문을 삭제하지 마십시오. 응답이 무엇인지 이해하기 어렵 기 때문입니다. 이 웹 사이트는 여러분을 후원하는 많은 사람들에게 유용 할 것입니다. 그러나 원래 정보없이 이것이 무엇인지 알기는 어려울 것입니다. –

답변

3

내 직감 반응은 다음과 같습니다. do not do. (귀하의 예를 들어 당신이 당신의 행동 층 콘텐츠의 큰 덩어리를 작성해서는 안 좋지 않습니다.)

은 때마다이 작업을 수행해야 하나 CONCAT : 정말 길어질 경우

var longVar = 'asdfasdf asdf asdf asdfasdf asdfasdf asdf asdfasdf' + 
    ' fasdf s9d0af asdf asdf0s,dv z-xcfva-sdfmwaert ' + 
    'qersdfasdfasdfasdfasdf'; 
document.write(longVar); 

또는 배열을 결합하여 성능을 향상시킬 수 있습니다.

var longVar = [ 
    'asdfasdf asdf asdf asdfasdf asdfasdf asdf asdfasdf', 
    ' fasdf s9d0af asdf asdf0s,dv z-xcfva-sdfmwaert ', 
    'qersdfasdfasdfasdfasdf' 
].join(''); 
document.write(longVar); 
0

읽고 쓰는 것이 가장 쉽습니다. 그런 다음 성능을 테스트하십시오. 속도가 너무 느리면 속도가 받아 들여질 때까지 점진적으로 알고리즘을 개선하십시오.

성능을 향상시키기위한 아이디어는 다음과 같습니다. - 스크립트가 축소되어 있는지 확인하십시오. - 서버에서 많은 양의 사전 처리 작업을 수행하고 "처리 된"스크립트를 제공하십시오.

축소 도구 (예 : jsMin)를 사용하면 읽기 쉽도록 공백과 줄 바꿈을 사용하여 문제가 발생하지 않습니다.

0

-이 코드를 처리하는 것이 좋습니다 서버 쪽하고는 90ties에 속하고 1998 년 HTML4의 도입으로 사용되지 않습니다으로 document.write()를 사용하는 것은 좋은 예입니다 ...

당신은 아무것도를 가지고있는 경우 세대가 ... 문자열을 결합하는 문제에

내가 eyelidlessness에 동의 -!)

EDIT (10분의 29)

통신으로 코멘트에 (나는 표기법이 필요하다)

<script type="text/javascript"> 
    window.onload = function(){ 
    var newD = document.createElement("div"); 
    newD.appendChild(document.createTextNode("Hello World")); 
    document.getElementsByTagName("body")[0].appendChild(newD); 
    } 
</script> 

이 방법은 아무 것도 문서에 삽입되지 않는다.

+0

대체 된 요소는 무엇입니까? – cciotti

관련 문제