`
zhangyaochun
  • 浏览: 2620574 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

underscore之result

阅读更多

 

 

    result

 

   _.result(object,property)

 

 

   

  • 如果参数object是function,执行它
  • 其他的情况直接返回

 

  官方实例:

 

 

var object = {

      cheese:"crumpets",

      stuff:function(){
         
           return "nonsense";

      }

};

_.result(object,"cheese");   //"crumpets"


_.result(object,"stuff");     //"nonsense"

 

 

  源码解析

 

/*
 * @name result
 * @param object
 * @param property
 * @info 依赖_.isFunction

*/
_.result = function(object,property){

        //对null的判断
        if(object == null){
               return null;
        }

        var value = object[property];

        //判断是否是函数,如果是函数call,如果其他直接拿key去匹配
        return _.isFunction(value) ? value.call(object) : value;


}

 

 

 

分享到:
评论

相关推荐

    前端开源库-underscore-deep-extend

    "前端开源库-underscore-deep-extend"就是这样一个工具,它专门为流行JavaScript实用库如underscore和lodash等提供了深度扩展(deep extend)的功能。 在JavaScript中,`extend`方法通常用于对象的合并,即将一个...

    lodash underscore js库速查手册

    _.groupBy(list, iterator, [context]) Splits a collection into sets, grouped by the result of running each value through iterator. If iterator is a string instead of _.countBy(list, iterator, [context]...

    深入解析Backbone.js框架的依赖库Underscore.js的作用

    - **工具函数类**:包括`escape`, `unescape`, `result`, `template`, `isArray`, `isString`, `isObject`, `isFunction`, `isNumber`, `isBoolean`, `isNull`, `isUndefined`等,提供了一般性的类型检查和转换功能...

    springboot专栏 005 springboot整合mybatis-plus 增删改查 封装(ServerResult)

    map-underscore-to-camel-case: true ``` - 创建Mybatis-Plus的配置类,初始化数据库连接等。 2. **Mybatis-Plus的增删改查** - Mybatis-Plus提供了简单的CRUD操作接口,如`insert()`, `updateById()`, `...

    underscore_l:Undercore L JavaScript库

    下划线L JavaScript库============================================安装通过凉亭: $ bower install ... // result: 8 示例 2:在数组中搜索最小值。 var arr = [3, 0, -3, 0, 1, 8, 2, 4] ;var min = _l.min

    underscore-extensions-module:一组通用的有用的辅助函数将被混合到Underscore.js中。 捆绑到RequireJS模块中,并使用Jasmine BDD框架进行了单元测试

    下划线扩展模块 概述 该项目的目标是开发一套全面的,经过良好记录和经过单元测试JavaScript帮助器函数,这些函数可以安全地混入并打包到AMD模块中。...var result = _.isNullOrUndefined(null) // result =

    fa:用于node.js的fluentfunctional异步库

    受async [1]和underscore [2]的启发,它采用了功能运算符并添加了一些修饰符:启用队列深度,不管错误而运行至完成,串行运行以及向回调添加索引。 fa . map ( [ 1 , 2 , 3 ] , function ( num , cb ) { cb ( ...

    publicdash.js:公共领域中的 Javascript 功能实用程序

    publicdash.js publicdash.js 是一个类似于公共领域的 lodash 和 underscore.js 的功能实用程序库。 在公共领域创建一个库几乎是这个库存在的唯一原因。用 var _ = require('publicdash');_.map([1, 2, 3], function...

    破裂脑动脉瘤不同时机夹闭术后的颅内压监测研究

    The research findings underscore the significance of ICP monitoring in guiding the care of patients with ruptured cerebral aneurysms. By understanding the temporal changes in ICP following different ...

    在职联考英语作文范文

    The prevalence of diverse thought and innovation is a direct result of such a tolerant climate. This, in turn, has driven progress in technology, arts, and social structures. Community engagement ...

    rails _sunspot 学习笔记

    <div id="search_result"> <!-- 显示 Foo 模型的相关数据 --> <!-- 显示 Bar 模型的相关数据 --> <!-- 显示 CarlSagan 模型的相关数据 --> <p>No results found. ``` 在这个视图文件中,我们...

    对象帮助者

    这些帮助者可以是自定义函数,也可以是某些库(如Lodash、Underscore等)提供的工具集。在深入探讨对象帮助者之前,我们先了解一下JavaScript中的对象。 JavaScript对象是键值对的集合,键通常是字符串,而值可以是...

    JavaScript模版引擎的基本实现方法浅析

    除了`Function`对象外,实际开发中常用的JavaScript模板引擎还包括Underscore.js的模板功能、Mustache、Handlebars等。这些模板引擎提供了更为复杂的模板语法和功能,可以更方便地进行数据绑定和事件处理。 总之,...

    尚硅谷-通用Mapper视频教程

    int[] result = userMapper.insertList(users); ``` #### 七、最佳实践 1. **合理设计实体类**:根据数据库表结构合理设计实体类,并注意字段名与数据库表列名的一致性。 2. **利用注解优化**:合理利用MyBatis的...

    docs:循环ORM文档

    $result = $queryBuilder->getQuery()->getResult(); ``` ### 8. 实现Repository 在某些情况下,你可能需要自定义数据访问逻辑,这时可以创建自定义Repository类。在`doctrine.orm.entity_manager`服务中注册后,...

    DebuggingWithGDB 6.8-2008

    Table of Contents Summary of gdb . . . . . . . . ....Free Software ....Free Software Needs Free Documentation ....Contributors to gdb....1 A Sample gdb Session ....2 Getting In and Out of gdb ....2.1 Invoking gdb ....

    C++MFC教程

    Visual C++MFC入门教程 目录 +-- 第一章 VC入门 |------ 1.1 如何学好VC |------ 1.2 理解Windows消息机制 |------ 1.3 利用Visual C++/MFC开发Windows程序的优势 |------ 1.4 利用MFC进行开发的通用方法介绍 ...

    acpi控制笔记本风扇转速

    笔记本的风扇控制 ---------------------------------------- 09 November 2006. Summary of changes for version 20061109: 1) ACPI CA Core Subsystem: Optimized the Load ASL operator in the case where the...

Global site tag (gtag.js) - Google Analytics