为了账号安全,请及时绑定邮箱和手机立即绑定

关于Underscore.js的源码问题

关于Underscore.js的源码问题

FFIVE 2018-10-13 13:10:50
var _ = function(obj) {    if (obj instanceof _) return obj;    if (!(this instanceof _)) return new _(obj);    this._wrapped = obj;  }; 我想问下为什么 var _ 这个变量要指向这个函数,有什么意义吗?我看了看源码好像也没有用到_()这样的函数调用,很困惑。。。   _.first = _.head = _.take = function(array, n, guard) {    if (array == null) return void 0;    if (n == null || guard) return array[0];    return _.initial(array, array.length - n);  };  _.initial = function(array, n, guard) {    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));  };  从上面看的话,_是个对象,frist和initial是_的方法才对,那为什么直向一个函数,我知道函数也是对象的一种,那为什么不直接new Object()呢?我第一次看源码,看了高程和JUQERY,总感觉API记住就好,原理还是要懂才行。是不是我对某个知识点了解的不够深?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 417 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信