摘要:
将变量局部化作为一个库首要解决的问题就是防止影响全局的变量。自执行匿名函数可以很好的实现这一点。传入window,undefiend是将全局变量改为局部变量,根据作用域链访问原理,访问更快一些,。undefined不传值实际就是传入undefined;(function(window, undefi... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。函数的长度属性如何工作?function makeNinja(name){} function makeSamurai(name, rank){} console.log( makeNinja.length == 1, "只定义... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。当我们将一个对象的点击事件绑定到一个事件触发元素时会发生什么?因为elem.onclick(),调用onclick时,this指向调用它的对象,也就是elem,所以发生错误。我们需要固定上下文为原先的对象function bin... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。可以修改内置对象的方法。if (!Array.prototype.forEach) { Array.prototype.forEach = function(fn){ for ( var i = 0; i < thi... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。继承是如何工作的function Person(){} function Ninja(){} Ninja.prototype = new Person(); var ninja = new Ninja(); console.... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。分析一下对象的结构function Ninja(){} var ninja = new Ninja(); console.log( typeof ninja == "object", "仍然是对象" ); console... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。向函数的原型中添加方法function Ninja(){} Ninja.prototype.swingSword = function(){ return true; }; var ninjaB = new Ninja(... 阅读全文
摘要:
代码信息来自于http://ejohn.org/apps/learn/。自执行,临时,函数(function(){ var count = 0; })(); 这是一个简单的自执行匿名函数。做一个点击计数document.addEventListener("click", (function(){... 阅读全文