實(shí)用函數(shù)
許多JavaScript框架都帶有大量的實(shí)用函數(shù),這些函數(shù)使得應(yīng)用JavaScript開發(fā)應(yīng)用程序更加容易。這篇文章有太多內(nèi)容需要補(bǔ)充,所以我將討論大多數(shù)框架中更為引人注目的函數(shù)中的一個。
如果你曾經(jīng)使用過JavaScript數(shù)組,你可能對使用循環(huán)來迭代數(shù)組操作其值非常熟悉。例如,想想清單2的代碼:
清單2:迭代JavaScript數(shù)組的傳統(tǒng)方法
var fruit = ['apple', 'banana', 'orange']; for(var i = 0; i < fruit.length; i++) { alert(fruit[i]); }
清單2中的代碼沒錯,但有點(diǎn)麻煩。大多數(shù)JavaScript框架包括each功能,它為數(shù)組中的每一個元素調(diào)用一個特定的函數(shù)。使用MooTools,用清單3中的代碼可以完成清單2中相同的操作。
清單3:使用MooTools的each函數(shù)
['apple', 'banana', 'orange'].each(function(item) { alert(item); });
清單3中在語法上與Prototype和jQuery是相同的,YUI 和 ExtJS.略微不同。但是,當(dāng)應(yīng)用到hash或?qū)ο髸r,不同的框架語法是不同的。例如,在MooTools中,你可以使用下面清單中的代碼:
清單4:對鍵/值對的各個對象使用MooTools的each函數(shù)
var hash = new Hash({name: "Joe Lennon", email: "joe@joelennon.ie"}); hash.each(function(value, key) { alert(key + ": " + value); });
但是,使用Prototype庫,這看起來就像清單5的代碼:
清單5:對鍵/值對的各個對象使用Prototype的each函數(shù)
var hash = $H({name: "Joe Lennon", email: "joe@joelennon.ie"}); hash.each(function(pair) { alert(pair.key + ": " + pair.value); });
每個框架包含了許多更實(shí)用的函數(shù),通常分為String函數(shù)、 Number函數(shù)、Array函數(shù)、Hash函數(shù)、 Date函數(shù)等等。要了解更多信息,請參閱相關(guān)JavaScript框架的API手冊。