搞懂JavaScript的Function.prototype.bind[译]

2016-03-19
阅读 4 分钟
5.7k
binding可能是初学Javascript的人最不关心的函数,当你意识到需要『保持this在其他函数中的上下文』,实际上你需要的是Function.prototype.bind()。

Js面向对象的四层 -Axel Rauschmayer

2016-03-12
阅读 3 分钟
3.1k
第一层 单一对象 创建对象 对象:字符和数值的映射 属性:访问映射 方法:属性的值是函数 this 指向函数的接受者 {代码...} [链接] 对象和映射(map) 相同点: 非常动态:自由删除增加属性 不同点: 继承(原型链继承) 快速访问属性(通过构造器器) 第二层 原型链 prototype chains 引出共享属性 {代码...} 解决方案...

函数申明与函数表达式【翻译】

2016-03-05
阅读 5 分钟
2.2k
函数声明与表达式 函数和变量一样,可以在代码的任何地方定义。JavaScript提供一些方式去定义方法: 函数声明 函数表达式 函数作为另一个函数结果被调用 语法 基本创建函数的语法是函数声明。语法如下: {代码...} 比如: {代码...} 这个例子声明一个只有一个参数的函数sayHi,运行sayHi。 返回值 用return声明来返回值 ...

判断数据类型

2016-03-05
阅读 2 分钟
1.6k
判断一个数据是否是数组,在以往的实现中,可以基于鸭子类型的概念来判断,比如判断这个数据有没有length 属性,有没有sort方法或者slice 方法等。但更好的方式是用Object.prototype.toString来计算。

策略模式-javascript

2016-03-04
阅读 2 分钟
2.4k
一个基于策略模式的程序至少由两部分组成。第一个部分是一组策略类,策略类封装了具体的算法,并负责具体的计算过程。第二个部分是环境类Context,Context接受客户的请求,随后把请求委托给某一个策略类。