黑铁时代
Programing is not only one kind of technology, but also one kind of art.
摘要: 闭包是JavaScript语言最奇怪的特性之一,闭包也经常让我们感到疑惑,但是只要弄清楚闭包产生的原理,我们就可以很好的利用它了。 闭包产生的根本原因就是作用域链。我们应该知道,当某个外部作用域包含一个内部作用域的时候,内部作用域可以通过作用域链访问外部作用域的变量对象。即使外部作用域已经销毁,但只要这个内部作用域还继续被使用,那么它就可以继续访问外部作用域中的变量对象,这个特性就叫闭包了。 在JavaScript只存在两种作用域:全局作用域和函数作用域。因此,产生闭包的通常情况都是在一个函数内部创建了另一个函数。当一个函数被创建的时候,就会自动创建一个内部属性引用相应的作用域链。当这... 阅读全文
posted @ 2012-07-04 23:28 黑铁时代 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 在很多高级语言中,如C#,ActionScript 3.0,都有两种继承方式,类继承和接口继承。但是JavaScript中没有这些概念,JavaScript是通过原型链这种特别的方式实现继承的。什么是原型链我们知道原型是每个构造函数自带的一个属性,原型属性保存着一个指针,指向一个对象被称之为原型对象。每一种构造函数都有自己的一个原型对象,而且每种构造函数的所有对象实例也都有一个内部属性指向这种构造函数的原型对象,即所有的对象实例都会共享这个原型对象。如果我们将一个构造函数A的实例赋值给另一个构造函数B的原型属性,即B.prototype = new A(),然后我们在把B的实例赋值给构造函数C 阅读全文
posted @ 2012-07-04 20:44 黑铁时代 阅读(206) 评论(0) 推荐(0) 编辑