為此,收集了自己平時常用到一些JavaScript函數,它們在其它的JS庫也常見,現在整理并附上注釋,方便查閱,希望對大家有所幫助。
注:假設以下所有函數都放在一個CC對象中,方便引用。 
 代碼如下: 
//這個方法相信是最常用的了, 
//它雖然沒有選擇器那么強大,但也有個小增強版,可查指定結點下ID所在的子元素 
function $(id, p) { 
//id是否是字符串,還是一個HTML結點 
var iss = id instanceof String || typeof id == "string"; 
if (iss && !p) 
return document.getElementById(id); 
//如果是結點的話就直接返回該結點 
if(!iss) 
return id; 
//如果id與p是同一個元素,直接返回 
if(p.id == id) 
return p; 
//往父結點搜索 
var child = p.firstChild; 
while (child) { 
if (child.id == id) 
return child; 
//遞歸搜索 
var v = this.$(id, child); 
if (v) 
return v; 
child = child.nextSibling; 
} 
//的確找不到就返回null 
return null; 
} 
 
 代碼如下: 
each: function(object, callback, args) { 
if (!object) { 
return object; 
} 
if (args) { 
if (object.length === undefined) { 
for (var name in object) 
if (callback.apply(object[name], args) === false) break; 
} else for (var i = 0, length = object.length; i < length; i++) 
if (callback.apply(object[i], args) === false) break; 
} else { 
if (object.length == undefined) { 
for (var name in object) 
if (callback.call(object[name], name, object[name]) === false) break; 
} else for (var i = 0, length = object.length, value = object[0]; 
i < length && callback.call(value, i, value) !== false; 
value = object[++i]) {} 
} 
return object; 
} 
 
 代碼如下: 
//數組 
function isArray(obj) { 
return (typeof obj === "array" || obj instanceof Array); 
}, 
//字符串 
function isString(obj) { 
return (typeof obj === "string" || obj instanceof String); 
}, 
//函數 
function isFunction(obj) { 
return (typeof obj === "function" || obj instanceof Function); 
}, 
//數字類型 
function isNumber(ob) { 
return (typeof ob === "number" || ob instanceof Number ); 
} 
 
 代碼如下: 
// 返回表單可提交元素的提交字符串. 
// 例如 
// <form> 
// <input type="text" name="user" value="rock" /> 
// <input type="text" name="password" value="123" /> 
// </form> 
// 調用后就返回 user=rock&password=123 
// 這些數據已經過encodeURIComponent處理,對非英文字符友好. 
// form元素中如果沒有name,則以id作為提供字符名. 
function formQuery(f){ 
// f,一個Form表單. 
var formData = "", elem = "", f = CC.$(f); 
var elements = f.elements; 
var length = elements.length; 
for (var s = 0; s < length; ++s) { 
elem = elements[s]; 
if (elem.tagName == 'INPUT') { 
if ( (elem.type == 'radio' || elem.type == 'checkbox') && !elem.checked) {