- 浏览: 1181896 次
- 性别:
- 来自: 北京
-
最新评论
-
zhizhen23:
LZ 提供的链接地址失效了
重写的isPlainObject方法 -
LovingBaby:
LovingBaby 写道function fun() {}f ...
读jq之二(两种扩展) -
LovingBaby:
说的很清楚!jQuery作者为了实现简洁调用的苦心!高超的编程 ...
读jq之一(jq对象的组成) -
hard_ly:
...
将伪数组转换成数组 -
zlxzlxzlxzlxzlx:
这不能算是任意进制之间的转换,例如二十六进制、十二进制又该如何 ...
用递归实现十进制数转换N进制
文章列表
现在进入最关键的组件 - 模型。模型用来存储应用的所有数据,以及直接和数据操作相关的逻辑。Backbone中的模型类是Backbone.Model,它包含了数据存储,数据验证,以及数据发生变动时触发相关动作。
一般可以把模型与后端绑 ...
默认情况下,只要保存模型(Model/Collection的sync方法),Backbone就会Ajax请求把模型持久化到服务器端。
有以下几点
sync方法把model持久化存储到服务器端,你可以重写该方法的实现方式,它默认使用jQuery或zepto的$.ajax
整个Backbone,只有Model和Collection的sync会调用Backbone.sync
请求类型由第一个参数method决定,可以是create/update/patch/delete/read。它默认采用RESTful请求
请求的数据由第二个参数model决定,URL默认是model的url, ...
Backbone事件模块
- 博客分类:
- Modular JS
事件模块Backbone.Events是Backbone的核心,Model、Collection、View都依赖它。
此外,事件模块的所有方法都挂在了全局的Backbone上,如果你的代码中需要用到自定义事件(实现观察者模式),可以直接使用它。
标示符Events是内部的一个引用,为讨论方便,这里也省去了前缀Backbone,这篇文章会从以下几个点分析
Events API
Events的用法
Events内部数据结构 (_events/_listeners)
特殊事件: “all”
Events与Model、Collection、View、Router、History ...
Backbone的写类方式
- 博客分类:
- Modular JS
从两个角度去讨论Backbone的写类方式
Backbone内部的写类方式,Backbone自身的类如Model、Collection、View等是如何定义的
Backbone外部的写类方式,如何使用Backbone提供的类来定义自己的类
一、Backbone内部的写类方式
Backbone提供给客户端程序员的类都是通过 构造函数+原型 的方式写的,Backbone.Model的代码大致如下
// 定义构造器
var Model = Backbone.Model = function(attributes, options) {
// ...
this.s ...
掺合模式(Mixin)
- 博客分类:
- Design pattern
Mixin是JavaScript中用的最普遍的模式,几乎所有流行类库都会有Mixin的实现。
Mixin是掺合,混合,糅合的意思,即可以就任意一个对象的全部或部分属性拷贝到另一个对象上。
从提供的接口来看,有的是对对象的操作,有的是对类的操作。对类的操作又称为掺元类(Mixin classes)
一、掺合对象 (Mixin object)
先看最简单的mixin实现
function mixin(dest, src) {
for (var key in src) {
dest[key] = src[key]
}
}
使用下
var ...
Backbone是一个优秀的前端MVC库,它的代码质量必定可靠。阅读过程中发现了函数triggerEvents有点意思,初看会以为一些代码是多余的。
var triggerEvents = function(events, args) {
var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];
switch (args.length) {
case 0: while (++i < l) (ev = events[i]).callback.call(ev. ...
windows下安装dig
- 博客分类:
- Tool
Dig是linux中的域名解析工具,功能比nslookup强很多,使用也很方便,不用象nslookup总是set不停。
Dig是domain information groper的缩写,知道了来源想必大家也就容易记住这条命令了。Dig现在已经有人移植到了window上,可以在这里下载。
这里以win7系统演示
一,下载后直接解压到C盘
二、下载
Sublime text jQuery插件
- 博客分类:
- Tool
一、插件下载
如果访问不了,可以去这里下载。
二、解压
三、打开Sublime, 选择 Prefreences > Browse Packgaes,将解压后的文件夹复制到Packages目录,然后改名jQuery
四、重启Sublime Text2,按Ctrl+Shift+p,选择set Syntax:jQuery,回车
五、输入j,可以看到有许多jQuery的API提示了
相关:
JS格
Sublime Text3 中安装 Emmet
- 博客分类:
- Tool
如果你从事前端开发或者web开发的话,一定听说过Zen coding - 一种快速编写HTML/CSS代码的方法。它使用仿CSS选择器的语法来快速开发HTML和CSS - 由Sergey Chikuyonok开发。现在它改名为了Emmet,并且搭建了一个新的网站:docs.emmet.io
下面记录下安装步骤
1、git方式下载Packages Control
命令行cd到Sublime Text3安装目录,我的是D:\Program Files (x86)\Sublime Text Build 3033 x64\Data\Packages,该目录默认只有User一个文件夹 ...
SpaceSniffer 是一个运行于 Windows 下的磁盘空间占用查看工具。
打开后,各种超大的文件全部浮出水面,而且 SpaceSniffer 支持直接选中之后的 Windows 右键菜单,这样就可以直接删除了(当然,不按住 Shift 的话最后还得清空回收站)。
可以看到pagefile.s
mac没有网络邻居,但可以使用finder访问局域网中windows共享的文件
1、点击 Finder 前往菜单中的「前往服务器」(或快捷键 command+k)
2、在连接服务器对话框中输入「smb://Windows主机的IP地址」,其中 smb 是访问 Windows 共享文件夹所使用的协议名称,SMB:服务器信息块协议(Server Message Block protocol)。
也可以使用计算机名
前一篇讲述了如何使用concat和uglify命令实现JavaScript资源的合并,压缩。这篇讲述下css资源的合并和压缩。
有如下步骤:
新建项目Bejs
新建文件package.json
新建文件Gruntfile.js
命令行执行grunt任务
一、新建项目Bejs
源码放在src下,该目录有两个子目录asset和js。js下放selector.js和ajax.js,这在上一篇已经讲了如何合并压缩它们。 这篇只关注asset目录,asset目录下放了一些图片和css文件。一会会把两个css资源reset.css和style.css合并,压缩到 dest/ass ...
使用GruntJS构建Web程序 (2)
- 博客分类:
- Node
前一篇记录了Grunt的安装,这篇介绍下怎么使用Gruntjs来搭建一个前端项目,然后使用grunt合并,压缩JS文件。
大概有如下步骤
新建项目Bejs
新建文件package.json
新建文件Gruntfile.js
命令行执行grunt任务
一、新建 ...
Gruntjs是JavaScript项目的构建工具,也是基于node的一个命令行工具。很多开源JS项目都是使用它搭建。如jQuery、Qunit、CanJS等。它有以下作用
合并JS文件
压缩JS文件
单元测试(基于QUnit)
一句话:完全自动化(automation)
以下是它的安装过程。
一、安装node
参考nodejs入门 (最新的node会自动安装npm)
二、安装grunt命令行工具grunt-cli
ES3 中,delete在8.6.2.5及11.4.1有介绍,如下
有一些信息,
1、实现上delete操作符会调用引擎内部的[[Delete]]方法
2、[[Delete]]在8.6.2里定义
3、删除的属性有个DontDelete的特性,如果有,delete时直接返回false