早上发现M2前辈的一个list方法挺有意思。。。^^
<script type="text/javascript">
<!-- M2
Array.prototype.list=function(){
var _f = arguments[arguments.length-1];
if (_f instanceof Function) {
for(var _i = 0, _l = Math.min(this.length,arguments.length - 1) ; _i < _l ; _i ++)
_f(arguments[_i] + '="' + this[_i].replace('"','\\"') + '"');
}
}
function test(){
var o = {}, a, b, c, d;
'what are you doing'.split(' ').list('o.a','o.b','o.c','o.d', function(_) { return eval(_); });
alert([o.a, o.b, o.c, o.d].join('\n'));
}
test();
//-->
</script>
于是忽,修改了下。。。
<script type="text/javascript">
<!--
Array.prototype.list = function (s, f) {
if (!(f && f.constructor === Function)) return this;
for(var _i = 0, _a = s.split(','), _m = _a.length, _l = Math.min(this.length, _m) ; _i < _l ; _i ++)
f(_a[_i] + ' = arguments[1]', this[_i]);
return this;
};
!function () {
var f = function(_) { return eval(_); }, a, b, c, d, e;
'what are you doing'.split(/\s/).list('a,b,c,d', f);
[{ a : 'csdn' }].list('e', f);
alert([a,b,c,d].join('\n'));
alert(e.a);
}();
//-->
</script>