void muse.each(object, function)

我对each的方式,做了简单的定义:

string:each每个字符。汉字的话,前提是utf8编码,each每个字而不是半字。

object:如果length为number(意为数组或具有length属性可通过数字下标访问的集合),则each每个元素,否则,则each对象内部属性,each每个属性名

number:从零开始,each到该数字-1。

需要注意的是:

1、为了更灵活,在对object进行属性轮巡时,我传给代理的是属性名而不是属性值

2、我将索引值作为第二个参数传了过去

3、在轮巡时监视代理方法的返回值,可以以此来中断轮巡。

 

each : function(obj, fun){
	if(!obj || !fun) return;
	var c, i;
	switch(typeof obj){
		case 'string':
			for(c = 0; c < obj.length; c++) if(fun(obj.charAt(c), c)) return;
			break;
		case 'object':
			if(typeof obj.length == 'number') {
				for(c = 0; c < obj.length; c++) if(fun(obj[c], c)) return;
			} else {
				i = 0;
				for(c in obj) if(fun(c, i++)) return;
			}
			break;
		case 'number':
			for(c = 0; c < obj; c++) if(fun(c)) return;
			break;
	}
	c = null;
	i = null;
}

转载于:https://www.cnblogs.com/muse/articles/1704433.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值