es3 实现 map 和 bind

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----'})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容