javascript框架设计种子模块读书笔记
1.命名空间:
js里面的命名空间就是使用对象的属性来扩展的。比如,用户定义一个A对象,A对象下面有B属性和C属性,同时B属性和C属性又是对象。因此A={B:{},C:{}},这时用户就可以在B对象和C对象中定义一样的方法,属性了。因此B和C就属于不同的命名空间。我们调用B,C对象里面的方法,就可以通过A.B.like,A.C.like调用了。当然A属于ContentLoaded事件,Dom树构建完成后触发。但是旧版本IE不支持,因此就有了hack。
复制代码 代码如下:
if(document.readyState === complete){ //以防Dom文档加载完成后才加载js文件。这时通过此判断来执行fn方法(你要执行的方法)。因为文档加载完成后,document.readyState的值为complete
setTimeout(fn); //异步执行,可以让它后面的代码先执行。这里是jQuery里面的用法,可以不用理解。
}
else if(document.addEventListener){//支持DOMContentLoaded事件
document.addEventListener(DOMContentLoaded,fn,false); //冒泡
树构建完后才执行。但是这需要添加额外的js文件,很少在单独的库里面用到。
使用原理:在文档中添加script标签,并用script.src = xxx.js,监听script的onreadystatechange事件,当this.readyState == complete时,就执行fn方法。
也就是说,DOM构建好之后,xxx.js才会执行,它的this.readyState才会变成complete。
以上便是javascript框架设计的第一章的读书笔记了,内容比较精简,方便大家更好的理解这章的基本内容。