+ -
当前位置:首页 → 问答吧 → jquery中的each函数有人能提取出来吗

jquery中的each函数有人能提取出来吗

时间:2010-05-28

来源:互联网

jquery虽然功能强大,但并不是因为某个页面需要某个功能而把整个jquery加载进去。

所以本人有了提取jquery中的each函数的想法,不过,本人的js水平太差(我只会写点后台程序),更何况又是牛人写的。

有谁能从jquery中提取出each函数呀???

作者: bluewjzhhr   发布时间: 2010-05-28

这个应该很好实现吧。
用的自己的想法,没从jq里提取
<script> function each(arr,fn) { for ( var i = 0, l = arr.length; i < l; fn.call(arr[i], i++)); } var a=['first','second','third']; each(a,function(i){alert(a[i])}); </script>
 提示:您可以先修改部分代码再运行
[ 本帖最后由 gp5251 于 2010-5-28 10:57 编辑 ]

作者: gp5251   发布时间: 2010-05-28

each函数里的对象是建立在jQuery的类数组对象中的,因此要提取,应该先了解Like Array 的原理。目前我正在写框架,有问题可以问我

作者: wanglong8906   发布时间: 2010-05-28

@@gp5251
你的这个太简单了吧,假如是个json数据呢,恐怕就不行了


@@wanglong8906
你能回答我这个问题就更好了,前台的东西我懂得很有限。

作者: bluewjzhhr   发布时间: 2010-05-28

谢谢,分享。。学习了

作者: shbijiben   发布时间: 2010-05-28

这个不用提吧,他就是个单独的方法
复制内容到剪贴板
代码:
    each: function( object, callback )
    {
        var name, i = 0, length = object.length;
        
        if( length === undefined )
        {
            for( name in object )
                if( callback.call( object[name], name, object[name] ) === false )
                    break;
        }
        else
            for( var value = object[0];
                i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
        
        return object;
    },
你看着改下就行了,不过jQ的each的效率可不怎么的,不如用原生的for,比这个效率高多了。

作者: lhg133   发布时间: 2010-05-28

@@lhg133
谢谢!晚上回去提一下试试看,不行的话,还是请高手来看看!

我想把flickr里的相片用json取回来,但加载一个jquery太大才小用了吧,所以想整一个jquery里相同功能的each来。再说,不可能因为取json数据而把整个jquery加载进去,某些网站就是json接口。

作者: bluewjzhhr   发布时间: 2010-05-31

取json用for..in就可以了……

作者: jim9   发布时间: 2010-05-31

@@lhg133
你的这个函数少了一个参数args,所以也就没有判断它了,它是干什么用的???

作者: bluewjzhhr   发布时间: 2010-06-01

相关阅读 更多