![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 615 阅读 · 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 · 611 阅读 · 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 · 481 阅读 · 0 评论 -
General Patterns:Function Declarations - 创建匿名函数并将其赋给一个变量
/* Title: 函数声明* Description: 创建一个匿名函数并将其赋给一个变量*/// 常规的函数声明function getData() {}// 更好的函数声明方式:函数字面量/* 优点:* 1. 更容易理解"函数是一个对象".* 2. 强制养成添加分号的习惯* 3. 不会与函数和作用域有太多的关联*/var get翻译 2012-10-26 17:55:39 · 537 阅读 · 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 · 545 阅读 · 0 评论