0%


状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变。

阅读全文 »


适配器模式的作用是解决两个软件实体间的接口不兼容问题。使用适配器模式之后,原本由于接口不兼容而不能工作的两个软件实体可以一起工作。

阅读全文 »


this的指向大概可以分成四种:

  • 作为对象的方法调用
  • 作为普通函数调用
  • 构造器调用
  • Function.prototype.call或Function.prototype.apply调用

1. 作为对象的时候,this指向该对象

1
2
3
4
5
6
7
8
var obj = {
a: 1,
getA: function() {
alert(this === obj); //true;
alert(this.a); //1
}
};
obj.getA();
阅读全文 »


一些重构的建议:

  1. 提炼函数
* 避免出现超大函数

* 独立出来的函数有助于代码复用

* 独立出来的函数更容易被覆写

* 独立出来的函数如果拥有一个良好的命名,

* 它本身就起到了注释的作用。
阅读全文 »

闭包是js中一个难懂又必须征服的概念,他的形成与变量作用域以及变量的生存周期密切相关。

变量作用域和生存周期

作用域,按字面理解,就是指变量的有效范围,超出这个范围就无法访问。
在函数中,里面函数可以访问外面的变量,但是外面无法访问内部变量。举个简单例子:

阅读全文 »