工具庫已經在近幾個效果中使用:
JavaScript 多級聯動浮動菜單 (第二版)
JavaScript 浮動定位提示效果
JavaScript Table行定位效果
JavaScript Table排序
這個工具庫的主要特點是:
【跨瀏覽器】
能在以下瀏覽器使用:IE6,IE7,IE8,Firefox 3.5.3,Chrome 3.0,Safari 4.0.3,Opera 10.10
ie系列是必須的,其他能支持最新版本就夠了。
【使用命名空間】
當然不是真正“命名空間”,只是一些全局變量,用途相似而已。
有如下命名空間:
$$:代表Object,保存對象相關方法,也代替最常用的getElementById方法;
$$B:代表Browser,保存瀏覽器信息;
$$A:代表Array,保存數組和類數組的相關方法;
$$F:代表Function,保存函數的相關方法;
$$D:代表Dom,文檔對象的相關操作和方法;
$$E:代表Event,事件的相關操作和兼容處理;
$$S:代表String,保存字符串的相關方法。
雖然我不反對有節制地擴展原生對象,但可以的話還是避免命名污染吧。
用多個命名空間(而不用單個)只因管理容易,用起來方便。
用兩個$,不是要更多美刀(雖然很想),而是避免跟流行的框架沖突。
使用全部變量時我沒有用window.x的形式,因為那樣會導致一些問題,具體參考這里。
【使用匿名函數】
貌似是jquery發揚光大的,就是把代碼嵌在一個function里面。
其實就是利用閉包,一來可以使用局部變量,二來可以防止命名沖突。
【使用對象檢測】
“對象檢測天生地優于瀏覽器檢測”,出自“ppk談JavaScript”的真理。
能用對象檢測的都盡量用,當然有些實在太難搞的也不要太執著。
對象檢測方面jQuery的support做的很好,建議去看一下。
追求目標是:
【小體積】
這里的體積不是說字符的多少,而是屬性和方法的數量。
工具庫的屬性和方法必須是很有用的,最好是“不得不加”的。
當然隨著使用的增加,工具庫也會慢慢的擴大,但要堅持這個原則。
【高效率】
高效是不變的追求,當然是在權衡利弊之后。
說到高效不得不佩服一下google,它不但代碼追求效率,而且下載的代碼是已經經過瀏覽器檢測的。
具體可以自己用各個瀏覽器下載看看試試。
建立目的是:
【整合常用方法】
把常用的方法整合到一起,既利于代碼復用,也便于維護。
但也不可避免地添加一些無關的方法,從而增加了代碼量,降低了效率。
【解決兼容問題】
解決一些常見的兼容性問題,減輕編碼負擔。
各個部分說明
【Object】
新聞熱點
疑難解答
圖片精選