Underscore的Create a safe reference object有什么作用

var _ = function(obj) {

    if (obj instanceof _) return obj;

    if (!(this instanceof _)) return new _(obj);

    this._wrapped = obj;

  };

这个函数写的妙不妙,如果你觉得妙,请分析下它的精妙之处?



慕标5832272
浏览 564回答 1
1回答

翻翻过去那场雪

这是underscore的源码吧,为了:Create a safe reference to the Underscore object for use below.目的是,当使用者这样调用:(第一次)_(obj)就会返回:new _(obj)然后就会再次调用到:this._wrapped = obj;以后对于_(obj)的调用都会返回this._wrapped,不会多余的new了。怎么用?var powerArray = _([]) // 此时powerArray,除了array本身的方法也拥有了underscore提供的增强方法 powerArray.push(1) powerArray.push(2) // [1,2] powerArray.min() // 1 (min方法就是underscore提供的)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript