读书人

关于each的一些思忖

发布时间: 2012-09-29 10:30:01 作者: rapoo

关于each的一些思考

?

思考是从jQuery的一段代码开始的。

?

?

?

ps:以前明哥问我想要研究js的那些部分,我当时很自然地说了fx.................

?

回到正题,我选的代码是1.4.1,其实在JQuery的源码中你会发现很多这样的模式

?

?

?

?

再看看处理object为{}的例子

?

?

?

?

其实这个问题在我研究tangram和自己编写自己的凤凰lib的时候就开始think....

?

?

/**each-traverse a object and follow the iterator to return a obj**@function**@param {Object} source**@param {Function} iterator ---function(item,key)**@return {Object}**/ZYC.object.each = function(source,iterator){    var returnValue,key,item;if(typeof iterator == 'function'){    for(key in source){                        //加了一层hasOwnPropertyif(source.hasOwnProperty(key)){   item = source[key];                          //call的时候this指向的是source                          //然后后面的参数依次是value和key   returnValue = iterator.call(source,item,key);}//如果有返回值是false的话就breakif(returnValue === false){   break;}   }}return  source;};
?

?

?

最后还是讲一下自己的收获:思考的是一些api实现和动态扩展创建命名空间下的fn的方式,从而结合去编写改善自己的api实现方式

?

我在扩展我的fn的时候也参照了这样$.each的模式,动态的去扩展一下phoenix.fn[key]

读书人网 >Web前端

热点推荐