随笔分类 - Javascript
词法作用域和闭包详解
摘要:var classA = function(){ this.prop1 = 1; } classA.prototype.func1 = function(){ var that = this, var1 = 2; function a(){ return function(){ alert(var1); alert(this.prop1); }.apply(that); };...
阅读全文
javascript运用Prototype模式
摘要:javascript开发人员对prototype这个东西恐怕都十分熟悉了,可是对于prototype模式了解的人恐怕不是很多。原型模式的用意是:通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多的同类型对象。和其他创建型模式不同:prototype模式创建对象不是通过new一个类,而是通过一个现有的对象实例来的。有经验的编程人员应该都接触过对象的clone方法,这...
阅读全文
关于javascript闭包的理解
摘要:Closure 所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 闭包是 ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须理解闭包。闭包的创建相对容易,人们甚至会在不经意间创建闭包,但这些无意创建的闭包却存在潜在的危害,尤其是在比较常见的浏览器环境下。如果想要扬长避...
阅读全文
解读"javascript变量作用域、匿名函数及闭包"
摘要:文章原文转自http://www.wxwdesign.cn/article/skills/javascript_scope_function_closure.htm一、JavaScript变量作用域(scope)首先需要明白的几个要点:1.JavaScript的变量作用域是基于其特有的作用域链的。2.JavaScript没有块级作用域。3.函数中声明的变量在整个函数中都有定义。(就后面第三点的说明...
阅读全文