22. 레거시 IE모드는 http헤더를 사용
Page Meta Tag
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
HTTP Header
HTTP/1.1 200 OK
Date: Sun, 14 Mar 2010 21:30:46 GMT
X-UA-Compatible: IE=EmulateIE7
23. 페이지의 위에 CSS를 넣을 것
<html>
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css"href="class.css" />
</head>
<body>
… … …
</body>
</html>
24. @import의 사용을 피할 것
@import url(/stylesheets/one.css);
@import url(/stylesheets/two.css);
MyHeading {
color: red;
font-family: 'New Century Schoolbook', serif;
background: white;
}
41. 코드를 최소화 해라
Initial (66 Characters)
function Sum(number1, number2) {
return (number1 + number2);
}
Characters Removed (54 Characters)
function Sum(number1,number2){return number1+number2;}
Compacted (30 Characters)
function Sum(a,b){return a+b;}
42. 필요할 때 스크립트를 가져와라
var userTileScriptsLoaded = false;
function CustomizeUserTile(){
if (userTileScriptsLoaded == false){
var head = document.getElementsByTagName("head")[0];
script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'upload.js';
head.appendChild(script);
}
}
43. 돔의 접근을 최소화해라
function CalculateSum() {
var leftSide = document.body.all.lSide.value;
var rightSide = document.body.all.rSide.value;
document.body.all.result.value = leftSide + rightSide;
}
44. 다수의 엘리먼트를 찾을 때는
selector api를 사용해라
function doValidation() {
var reqs = document.querySelectorAll(".required");
var missingRequiredField = false;
for (var i = 0; i < reqs.length; i++) {
if (reqs[i].value == "") missingRequiredField = true;
}
}
45. 마크업의 변경은 한번에 해라
function BuildUI() {
var elm = document.getElementById('ui');
var contents = BuildTitle() + BuildBody() + BuildFooter();
elm.innerHTML = contents;
}
46. 작은 크기의 돔을 유지해라
Eleme
Element
Eleme
Eleme
ument HTML Body Element
Eleme
Eleme
Element
Eleme
47. 내장 JSON 메서드를 사용해라
var jsObjStringParsed = JSON.parse(jsObjString);
var jsObjStringBack = JSON.stringify(jsObjStringParsed);