javascript - Underscore的Create a safe reference object有什么作用
巴扎黑
巴扎黑 2017-04-11 11:33:34
[JavaScript讨论组]
var _ = function(obj) {
    if (obj instanceof _) return obj;
    if (!(this instanceof _)) return new _(obj);
    this._wrapped = obj;
  };

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

巴扎黑
巴扎黑

全部回复(2)
迷茫

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

变量名见名知意,一看这函数就没意义。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号