
javascript-patterns
5oftSky
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Enforcing new 模式
// 构造函数 function Waffle() { this.tastes = "yummy"; } // 反例 // 忘记使用 `new` var good_morning = Waffle(); console.log(typeof good_morning); // "undefined" console.log(window.tastes); //翻译 2012-10-29 11:00:30 · 682 阅读 · 1 评论 -
Self-defining functions模式
/* Title: 自我定义函数 Description: 自身重写,以减少第一次调用以后的代码量 */ var scareMe = function () { alert("Boo!"); scareMe = function () { alert("Double boo!"); }; }; // 1. 添加阴属性 scareMe.pro翻译 2012-10-29 14:14:18 · 691 阅读 · 0 评论 -
Conditionals - if else 模式
//常规模式if (type === 'foo' || type === 'bar') {} // 正则if (/^(foo|bar)$/.test(type)) {} // 对象字面量查询if (({foo:1, bar:1})[type]) {} //逻辑运算符(type === 'foo' || type === 'bar') && (type='1') //折半搜索if (value ==翻译 2012-10-26 18:21:45 · 518 阅读 · 0 评论 -
General Patterns:Function Declarations - 创建匿名函数并将其赋给一个变量
/* Title: 函数声明 * Description: 创建一个匿名函数并将其赋给一个变量 */ // 常规的函数声明 function getData() { } // 更好的函数声明方式:函数字面量 /* 优点: * 1. 更容易理解"函数是一个对象". * 2. 强制养成添加分号的习惯 * 3. 不会与函数和作用域有太多的关联 */ var get翻译 2012-10-26 17:55:39 · 566 阅读 · 0 评论 -
Returning function模式
// setup 函数能在一个闭包里存储一些私有数据// setup() 创建了一个技术函数, 返回下一个id. 并且count变量没有暴漏出来. var setup = function () { var count = 0; return function () { return ++count; };}; var next = setup(); //修改next无法改变count的翻译 2012-10-29 11:25:01 · 600 阅读 · 0 评论