编程实践
这一章主要讨论在编程中具体的方式,不再讨论一些注释等格式问题
松耦合
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);