不知道能不能将JavaScript和HTML的分离也归结为“你必将业务逻辑由显示中分离(thou shalt separate business logic from display)”[1] 的问题。但有HTML和CSS的分离在前面对照,它们的分离是如此地优雅,对于理想主义的小coder实在具有莫大的吸引力。
从现实的角度,也可以举出很多方面来论证JavaScript和HTML分离的好处:网页设计人员和JavaScript程序员可以分工合作,尽可能降低沟通成本;当某些浏览器禁用JavaScript的时候不至于引起错误,提高网站的可访问性。
JavaScript和HTML分离的理想情况有两种:
1. JavaScript中无HTML
无法做到。DOM生来就是给JavaScript操作HTML的。JavaScript的两大功能:一是操作HTML,通过各种手段改变HTML页面外观;二是逻辑运算,随着富客户端的发展,JavaScript在这方面的运用也越来越多、越来越“正规”,甚至有如《JavaScript设计模式》[2]这样的书出来。
2. HTML中无JavaScript
这儿就从“为什么开发人员会把JavaScript代码放到HTML中去? ”这个问题的角度进行分析。
最常见的。为HTML的节点添加事件 。比如给一个按钮添加事件