es3 实现 map 和 bind
2018-06-06 本文已影响0人
冰红茶ht
map
var map1 = function(a, fun) {
var results = [];
for (var i =0; i<a.length; i++) {
if (i in a) results[i] = fun.call(null, a[i], i, a);
}
return results;
}
map1([1,2,3,4,5], function(item , index, arr) {
return item*item;
});
bind
var bind1 = function(fun, obj) {
return function(y) {
return fun.apply(obj, arguments);
}
}
var fn = bind1(function(y) {return this.a + y}, {a: '1212----'})