![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
5oftSky
这个作者很懒,什么都没留下…
展开
-
Self-defining functions模式
/* Title: 自我定义函数 Description: 自身重写,以减少第一次调用以后的代码量 */ var scareMe = function () { alert("Boo!"); scareMe = function () { alert("Double boo!"); }; }; // 1. 添加阴属性 scareMe.pro翻译 2012-10-29 14:14:18 · 601 阅读 · 0 评论 -
element.classList属性及方法应用
element.classList属性用于返回一个元素的className集合,并且该属性拥有add,remove,toggle,contains方法,详见:https://developer.mozilla.org/en-US/docs/DOM/element.classList。一般我们再操作dom节点的className时经常会有以下4个需求:判断该节点是否存在某个class原创 2012-10-24 17:43:55 · 9123 阅读 · 1 评论 -
高版本opera浏览器(12.02左右)embed标签无法自动播放
背景:做一个音乐播放器,方法是在页面中插入一个embed或者object标签并指定播放的地址等属性,并将该embed标签定位到非可视区域(注意这里不能使用隐藏,隐藏后embed将不会播放)然后通过js去控制播放和暂停。问题 : 测试后发现只有opera浏览器没有达到预期的播放效果,通过调试,将embed标签显示在可视区域,发现在opera浏览器中embed标签呈现出一个播放按钮,该按钮的tit原创 2012-10-24 18:21:19 · 3521 阅读 · 0 评论 -
General Patterns:Function Declarations - 创建匿名函数并将其赋给一个变量
/* Title: 函数声明* Description: 创建一个匿名函数并将其赋给一个变量*/// 常规的函数声明function getData() {}// 更好的函数声明方式:函数字面量/* 优点:* 1. 更容易理解"函数是一个对象".* 2. 强制养成添加分号的习惯* 3. 不会与函数和作用域有太多的关联*/var get翻译 2012-10-26 17:55:39 · 529 阅读 · 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 · 475 阅读 · 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 · 538 阅读 · 0 评论 -
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 · 598 阅读 · 1 评论