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记住就好,原理还是要懂才行。
是不是我对某个知识点了解的不够深?
相关分类