Js学经第1篇:onDOMReady方法的使用
Posted by | Posted in Javascript | Posted on 04-11-2009
好久没有更新博客了,忙是第一原因,另外也是自己没有静下心来的思路写点东西了。晚上看到公司有邮件说员工自己的博客要注意考虑博客内容对公司的影响,当然更多的是注意负面影响。不过我还不至于在首页的顶上来一个免责声明:“我只是为支付宝公司工作,但我的说法并不代表官方”,做好自己的本职工作已经不易,还来折腾这些,只能说闲着蛋疼罢了。
今天难得写点技术的东西,因为测试提到一个问题因为一个id没有读取到造成他后台脚本解析报错,可是网站本省却没有报错。研究了一下发现是因为document.getElementById(“id-name”)中的id-name并不存在,代码在解析的时候却没有直接报js错误。深一步发现这段获取对象的js代码是包裹在E.onDOMReady()中的。E.onDOMReady()是我们自己基于YUI框架开发的自己的js框架,这个onDOMReady用法也就是YUI中的YAHOO.util.Event.onDOMReady.
大家都到DOMReady的用法,就是在页面完全加载完全之后执行这个方法内部的函数。而这里的加载完全是指dom和其他代码,并不包括图片的加载。这和onLoad是有区别的,onLoad是要加载完所有内容包括图片。这也是很多人喜欢用domready的一个原因,试想一下sina要是都用onLoad的话,用户可以去打瓶酱油回来再看页面了。
正是这个解析的方式,使得onDOMReady方法内部的代码一定会执行,即便里面有null和undefined的变量出现,页面也不会因此报错,也是框架的容错性需要。虽然不会产生问题,但是良好的代码习惯告诉我们,定义一个变量,最好不要出现null和undefined的情况。
