摘要:
工作中我们经常需要判断某个变量/属性是否为undefined。通常有两种写法12345// 方式1typeofage ==='undefined';// 方式2age === undefined这两种写法有什么区别吗? 应该使用哪一种呢?看看下面的例子1typeofage ==='undefined... 阅读全文
摘要:
jQuery丢弃了标准的button属性采用which,这有点让人费解。which 是Firefox引入的,IE不支持。which的本意是获取键盘的键值(keyCode)。jQuery中的which即可以是键盘的键值,也可以是鼠标的键值。即当判断用户按下键盘的哪个键时可以使用which,当判断用户按... 阅读全文
摘要:
使用过Prototype.js的同学知道$(xx)调用后返回的是HTMLElement或其集合。jQuery的$调用后想要获取DOM元素可以使用get方法,如下12// 方式1$('div').get(1);// 获取页面中第二个div当然,也可以使用数组索引方式获取12// 方式2$('div')... 阅读全文
摘要:
很多同学在项目中都喜欢将数据存储在HTMLElement属性上,如1234Test给页面中div添加了自定义属性“data”及值“some data”。后续JS代码中使用getAttribute获取。jQuery从1.2.3开始提供了data/removeData方法用来存储/删除数据。1.6.1代... 阅读全文
摘要:
前面提到jQuery库如何通过其中的jQuery.extend及jQuery.fn.extend去扩展自身的。第三篇给zChain.js添加了常用选择器,但目前为止zChain.js仍然做不了任何事情。jQuery的操作往往是分两步1,获取元素集合(选择器)2,操作元素集合而第二步操作元素集合的主要... 阅读全文
摘要:
前面两篇已经道明了jQuery的核心框架。弄清楚了jQuery对象的组成,以及如何用extend方法来扩展库。链式操作也仅仅是方法体内返回this。为了叙述每一篇的重点,其示例代码都是最精简的,比如选择器只能传HTMLElement和id。这篇我们增强下选择器,依据2/8原则,这里仅实现最常用的几种... 阅读全文
摘要:
上一篇分析了jQuery对象的组成,这篇分析下它的extend方法。如下123jQuery.extend = jQuery.fn.extend =function() {...};我们可以用$.extend去扩展自定义的对象,如123varmyself = {name:jack};$.extend(... 阅读全文
摘要:
首次接触jQuery是在2008年,上地的一家小公司。当时的版本是1.1,在此之前我仅接触过Prototype.js。对于jQuery的写法甚是困惑,尤其在使用Prototype的$后,一度不能理解jQuery的$。对于现在前端同学来说,可能第一个接触的就是jQuery了,他们会觉得很习惯,很自然。... 阅读全文
摘要:
avascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。方式1,调用函数,得到返回值。强制运算符使函数调用执行1234(function(x,y){a... 阅读全文
摘要:
在写日历组件和旅行相关频道开发的过程中,很多需要地方需要和日期对象打交道。拿京东旅游首页来说, 左上角的搜索框就包含了许多日期相关的交互逻辑,它包含了机票,酒店,度假等,这些都含有出发日期,到达日期等。里面还包含了一个日期组件,在用户选择完出发日期后,会自动把到达日期定位在出发日期的下一天。又如机票... 阅读全文
摘要:
从两个角度去讨论Backbone的写类方式Backbone内部的写类方式,Backbone自身的类如Model、Collection、View等是如何定义的Backbone外部的写类方式,如何使用Backbone提供的类来定义自己的类一、Backbone内部的写类方式Backbone提供给客户端程序... 阅读全文
摘要:
事件模块Backbone.Events是Backbone的核心,Model、Collection、View都依赖它。此外,事件模块的所有方法都挂在了全局的Backbone上,如果你的代码中需要用到自定义事件(实现观察者模式),可以直接使用它。标示符Events是内部的一个引用,为讨论方便,这里也省去... 阅读全文