文档章节

underscore.js学习-一

o紫木o
 o紫木o
发布于 2017/09/07 22:25
字数 574
阅读 5
收藏 0
点赞 0
评论 0

1.

var _ = function(obj){
        if(obj instanceof _) return obj;
        // 执行new操作时,新创建一个实例,不是obj本身,故第一个条件仍为false
        if(!(this instanceof _)) return new _(obj);
        this._wrapped = obj;
    };

2.void 运算符通常只用于获取undefined的原始值,一般使用 void(0),等同于void 0。

在使用立即执行的函数表达式时,可以利用void运算符让 JavaScript 引擎把一个函数识别成函数表达式而不是函数声明(语句)。

void function iife() {
    var bar = function () {};
    var baz = function () {};
    var foo = function () {
        bar();
        baz();
     };
    var biz = function () {};

    foo();
    biz();
}();

当用户点击一个以javascript: URI 时,浏览器会对冒号后面的代码进行求值,然后把求值的结果显示在页面上,这时页面基本上是一大片空白,这通常不是我们想要的。只有当这段代码的求值结果是undefined的时候,浏览器才不会去做这件傻事,所以我们经常会用void运算符来实现这个需求

<a href="javascript:void(0);">
  这个链接点击之后不会做任何事情,如果去掉 void(),
  点击之后整个页面会被替换成一个字符 0。
</a>
<p> chrome中即使<a href="javascript:0;">也没变化,firefox中会变成一个字符串0 </p>
<a href="javascript:void(document.body.style.backgroundColor='green');">
  点击这个链接会让页面背景变成绿色。
</a>

注意,虽然这么做是可行的,但利用javascript:伪协议来执行 JavaScript 代码是不推荐的,推荐的做法是为链接元素绑定click 事件。

3.obj.length === +obj.length

等同于 typeof obj.length == 'number' && !isNaN(obj.length),用于判断length是一个(或者可以转为)非NaN的数值

+位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。如果它不能解析一个值,则计算结果为 NaN

4.length = (keys || obj).length

exp1 || exp2   如果expr1能转换成true则返回expr1,否则返回expr2

exp1 && exp2   如果expr1 能转换成false则返回expr1,否则返回expr2

||和&&返回一个指定操作数的值,当第一个表达式能确定运算值时返回第一个,不能就返回第二个操作数

5.单词 :raw dense predicate cornerstone sparse aka

© 著作权归作者所有

共有 人打赏支持
o紫木o
粉丝 2
博文 26
码字总数 12013
作品 0
西安
程序员
GeoCouch 初体验(CouchDB的地理位置索引查询插件)

原文出处:http://blog.nosqlfan.com/html/3267.html GeoCouch是一个CouchDB的插件,提供地理位置索引的查询,我们知道CouchDB是通过MapReduce建立视图的方式来进行非动态的查询,GeoCouch通...

红薯 ⋅ 2011/10/18 ⋅ 2

如何封装Node.js和前端通用的模块

前端模块通常是我们开发人员为了避免和他人冲突才把模块代码放置在一个闭包中。 如何封装Node.js和前端通用的模块,我们可以参考Underscore.js 实现,他就是一个Node.js和前端通用的功能函数...

cd_ing ⋅ 2014/02/17 ⋅ 0

angular.js,backbone.js,ember.js区别

1 backbone. 对于初学者来说,我非常建议首先学习backbone 而不是jQuery. 因为jQuery提供的功能是操作DOM和Ajax数据传输. 而Backbone的功能和目的仅仅是提供一个javascript的MVC 实际针对Web...

造化玉碟 ⋅ 2014/04/05 ⋅ 2

Underscore.php

Underscore 是 Underscore.js 的一个 PHP 移植版本。 示例代码: ::map(array(1, 2, 3), function($num) { return $num * 3; }); // array(3, 6, 9) ::map(array('one'=>1, 'two'=>2, 'three......

红薯 ⋅ 2013/12/31 ⋅ 0

实用JavaScript工具库--Lo-Dash

Lo-Dash是一个实用的JavaScript工具库。类似 Underscore.js

justintung ⋅ 2014/04/06 ⋅ 2

HiShop2.x版本中的上传插件分析,得出所用的模板语言为Underscore.js 1.6.0且自己已修改

效果: 上传组件非常的酷,但是分析其使用JS写法使用了模板语言的,代码如下:   

easonjim ⋅ 2016/12/27 ⋅ 0

Underscore.js _.partition(list, pre)的用法

Underscore.js _.partition(list, pre)的用法,大牛们做个例子给看下,没明白啥意思。

奥巴码侬 ⋅ 2014/08/15 ⋅ 2

Tornado 开发最佳实践

最近看到很多人的开发经验. 比如ruby和rails的使用者非常喜欢传道授业解惑, 网上能看到的python的文章大多数在研究一些好玩的算法等等. 事实上python在顶级软件团队的应用程度相当普遍, 在严...

quanpower ⋅ 2013/05/26 ⋅ 3

JavaScript工具库之Lodash

你还在为JavaScript中的数据转换、匹配、查找等烦恼吗?一堆看似简单的foreach,却冗长无趣,可仍还在不停的repeat it!也许你已经用上了Underscore.js,不错,你已经进步很大一步了。然而今...

china008 ⋅ 2015/12/29 ⋅ 0

Underscore.js 1.8.1 发布,JavaScript 工具库

Underscore.js 是一个实用的JavaScript工具库,提供了类似 Prototype 功能的编程支持,但没有对 JavaScript 内置的对象进行扩展。 此版本现已提供下载(ZIP),详细内容请看这里。...

oschina ⋅ 2015/02/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 55分钟前 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

【转】JS浮点数运算Bug的解决办法

37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两个只有一位小数的数字相乘,怎...

NickSoki ⋅ 今天 ⋅ 0

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 今天 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 今天 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部