編程實踐
這一章主要討論在編程中具體的方式,不再討論一些註釋等格式問題
鬆耦合
Web開發的三層關係:
JavaScript |
---|
CSS |
HTML |
實際場景中的CSS和JavaScript更像是兄弟關係:
JavaScript-----------------CSS |
---|
HTML |
JS的正確運行不應當依賴CSS
JavaScript和CSS分離
CSS中的函數expression可以執行js表達式,和eval一樣這些都是強耦合的,極不推薦:
/*不推薦*/
div{
width:expression(document.body.offsetWidth+"px");
}
Js中操作CSS也是非常令人難受的:
//不推薦
element.style.color="red"
想要更改樣式,最好是在元素中添加或者刪除類來實現:
element.className+="style"
element.className.add("style");
JavaScript和HTML分離
這一方面最明顯的陋習就是:
<button onclick="fun()">Cilck</button>
這樣做的時候,當你要在js中修改函數名稱,你還需要去HTML中尋找這個元素,
推薦的做法是使用JS來爲元素添加事件偵聽器:
var btn=document.getElementById("btn");
btn.addEventListener("click",fun,false);