摘要:
JavaScript与C++、Java等面向对象编程语言有本质的区别,然而就像不懂Linux人,会创造一个蹩脚的linux一样,一些JavaScript的编程者,总在尝试利用JavaScript 去模拟传统的面向对象编程。传统的面相对象编程是利用继承和多态两种机制实现代码的复用。继承的实质就是对父类 阅读全文
摘要:
函数调用时的this实际上是在函数被调用时发生绑定,它指向什么完全取决于函数在哪里被调用。 特例:当函数作为构造函数被调用时,即使用new 来构造一个新对象,会自动执行以下操作: 【1】创建一个新对象; 【2】这个新对象会被执行原型连接;(即新对象的__proto__会指向构造函数的prototyp 阅读全文
摘要:
当函数在当前的词法作用域之外执行,函数可以记住并访问该函数所在的词法作用域时,就产生了闭包。当函数跳出当前的词法作用域之外,但是该函数的作用域链有对它所在的词法作用域的引用,这样采用标记--清除算法的Javascript垃圾回收机制,就能够从根部出发找到该词法作用域,因此,该词法作用域不会被垃圾回收 阅读全文