javascript DOM编程艺术笔记——CH5 Best practise
2015-09-15 02:44
896 查看
best practise
best practisegraceful degredation平稳退化
unobtrusive javascript 分离javascript
backward compatibility 向后兼容浏览器
performace considerations 性能考虑
graceful degredation平稳退化
浏览器不支持,用户禁用javascript(弹窗等);仍然能顺利浏览基本网页作用:
SEO中的搜索机器人一般不懂javascript,优化排名需要平稳退化。
eg:
<a href="#" onclick="popUp(‘www.baidu.com’);return false;">EXAMPLE</a>
//优化后:
<a href="www.baidu.com" onclick="popUp(this.getAttribute('href'));return false;"> ex</a>
unobtrusive javascript 分离javascript
即把事件(event)如onclick都分离到js外部文件中。利用class!
<a href="www.baidu.com" class="popUp">ex</a>
然后在js中用element.event=action…
e.g:
var links = document.getElementsByTagName("a"); for(var i = 0;i<links.length;i++){ if(links[i].getAttribute("class")== "popUp"){ links[i].onclick=function(){ popUp(this.getAttibute("href")); return false; } } }
又因为document需要加载完毕后才能使用,
若script在head部分,则js先加载;若在前,则一起加载
都不能保证DOM完整。
而document是windows的一个属性。
hence,加上
“`
windows.onload = prepareLinks;
function prepareLinks(){
var links = document.getElementsByTagName(“a”);
for(var i = 0;i
backward compatibility 向后兼容(浏览器)
加一个if语句。if(!method)return false;
注意 method去掉()
performace considerations 性能考虑
少访问DOM(document.getElementById等等)减少标记
合并和放置脚本
放置脚本在之前
压缩脚本
即删除不必要的字节(空格注释等)
工具:JSMin、雅虎的YUI Compressor、谷歌的Closure Compiler
相关文章推荐
- javascript DOM编程艺术笔记——CH3 DOM
- 最简单的可取消多选效果(以从水果篮中挑选水果为例)【jsDEMO】
- [LeetCode][JavaScript]Binary Tree Inorder Traversal
- javascript数组的其他方法
- javascript中使用正则表达式删除前后空格的方法
- JavaScript防止网页被拷贝程序代码——SHOPXX
- js比较大小容易忽略的问题
- JavaScript函数之高阶函数
- 【JavaScript】学习笔记(对象的访问,创建;for-in循环)
- 【JavaScript】DOM之我的初步理解
- JS MD5
- jsdoc块和内联标签
- 遇到的面试题:html和javascript
- javaScript this 详解
- Javascript 中 Array的 sort()和 compare()方法
- js 加载跨域文件 权限问题
- Javascript设计模式
- js 动态dom绑定事件
- JavaScript权威设计--JavaScript对象(简要学习笔记八)
- {welcome to JS} 使用外部脚本