状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变。
适配器模式
this关键字
this的指向大概可以分成四种:
- 作为对象的方法调用
- 作为普通函数调用
- 构造器调用
- Function.prototype.call或Function.prototype.apply调用
1. 作为对象的时候,this指向该对象
1 | var obj = { |
代码重构
一些重构的建议:
- 提炼函数
* 避免出现超大函数
* 独立出来的函数有助于代码复用
* 独立出来的函数更容易被覆写
* 独立出来的函数如果拥有一个良好的命名,
* 它本身就起到了注释的作用。
闭包
闭包是js中一个难懂又必须征服的概念,他的形成与变量作用域以及变量的生存周期密切相关。
变量作用域和生存周期
作用域,按字面理解,就是指变量的有效范围,超出这个范围就无法访问。
在函数中,里面函数可以访问外面的变量,但是外面无法访问内部变量。举个简单例子: