非侵入式(Unobtrusive)JavaScript一种编写JavaScript语言的方式,我们将文档内容和脚本内容正确分开,从而使我们能够明确区分它们。正如我们应该将所有CSS放在一个单独的文件进而分离结构和表现一样,我们也应该将HTML文档和JavaScript行为分开。原因相同:非侵入式将你的关注点分开,保持你的代码干净,并允许你在不接触HTML或CSS的情况下处理JavaScript,编写出的代码不易出错,且易于更新和调试。
非侵入式编程的基本概念是JavaScript应该被用作增强网页功能,而不是绝对的要求。如果你不需要JavaScript,那就不要使用它,你的静态内容可以使用普通的旧HTML和CSS正常显示。许多开发人员甚至在弄清楚是否需要它们之前就犯了导入代码库的错误。 例如,当我们所有的基本需求都可以通过CSS和纯JavaScript代码轻松满足时,就没有必要再使用jQuery。
非侵入式编程一改老派设计,不是制作100%由JavaScript驱动的动态网页,而是制作100%常规、静态网页,然后用适量JavaScript优化和完善网页。
旧氏:
// index.html
<button id="test" onclick="alert('Hello')">按钮</button>新式:
// index.html
<button id="test">按钮</button>
// main.js
var temp = document.getElementById('test');
temp.onclick = function(){
alert('Hello');
};