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----'})
上一篇 下一篇

猜你喜欢

热点阅读