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

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

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

慕标5832272 2018-08-01 09:11:34
var _ = function(obj) {    if (obj instanceof _) return obj;    if (!(this instanceof _)) return new _(obj);    this._wrapped = obj;  };这个函数写的妙不妙,如果你觉得妙,请分析下它的精妙之处?
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

这是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提供的)


查看完整回答
反对 回复 2018-09-21
  • 1 回答
  • 0 关注
  • 563 浏览
慕课专栏
更多

添加回答

举报

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