JavaScript良好习惯

一:预留退路:
每一次在html文档中要考虑如果JavaScript被禁用会怎么样?我想要的图片和链接还能成功加载么?
在html文档中图片的链接和新窗口的链接要明确,不能只在js文档中出现。即在html中要给出确定的url地址。例如<a herf = ""></a>
即当用户禁用js功能或浏览器不支持时网页的基本功能要能够实现(即使不够美观)。
二:分离文档。
在一个html文档中不要直接在<script></script>里写js代码,也尽量不要把事件处理函数直接插入html文档。这样不仅会造成文档的臃肿,可读性差。还会造成网页的行为层(js代码)与结构层(html代码)混杂,及不能实现多文档应用。
在分离出去的js文档中首先应添加事件预处理函数( 例:prepare())。 以处理链接的onclick()事件为例,它将拥有以下几个功能:
1.检查当前浏览器是否支持你将使用的方法(getElementById等等).若你在html文档中定义了id="b",检查当前浏览器是否包含id = "b"的元素。
2.创建循环并遍历(本例中存在多个连接)
3.对onclick事件处理函数进行设置,让他在有关链接被点击时完成你想要的操作。

对于必要的检查:
我们在检查是一般使用if(! method){return false}即当不支持时怎样。因为如果使用if(method)的话将多出一个大括号,使函数体变得不易理解。
例:
if(!document.getElementById){
return false;
}
//这是一个预防性措施,为了当以后html文档有变动时,网页js代码不会出现漏洞。
if(!document.getElementById("b")){
return false;
}
结构化程序设计原则:
每个函数应该只有一个入口点和一个出口点。
这个理论并不是绝对的,如果严格遵循的话,则一定会出现多层嵌套的情况。
一个函数有多个出口点是可以接受的,但要集中在函数的开头部分。
创建必要的变量:
如:var links = document.getElementByTagName("a");是函数变得简单易读。
创建循环并遍历:
for(var i = 0,i<links.length,i++){}
对onclick事件处理函数进行设置,让他在有关链接被点击时完成你想要的操作:
for(var i = 0,i<links.length,i++){
links[i].onclick = function();
}
把js函数绑定到onload事件处理函数上:
window.onload = prepare();
如果你想在onload事件处理函数上绑定多个函数。
1.创建一个匿名函数。

window.onload = function(){
functiona();
functionb();
}

2.使用addLoadEvent()函数:

addLoadEvent(functiona());
addLoadEvent(functionb());

注:以下是addLoadEvent()代码清单:

function addLoadEvent(func) {
var oldonload = window.onload;
if( typeof window.onload !=" function()"){
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值