标签: JavaScript
- 设计模式定义:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。 面向对象的 JavaScript
- 前面学习作用域的特性我们知道,doFun 创建的作用域中的变量对象 (VO,即所有 var 变量声明和函数声明 FD) 是可以被内部函数 displayName 访问到的。而内部函数 displayName 被声明后没有立即执行,而是作为返回值赋值给了 myFun。当内部函数被 myFun 调用时仍可访问较高作用域的变量,此时就会形成闭包。
- 思维逻辑可以抽象进而工具化、工程化。面向对象-编程借鉴工程领域来的思维抽象。 在基于类的面向对象方式中,对象(object)依靠 类(class)来产生。而在基于原型的面向对象方式中,对象(object)则是依靠 构造器(constructor)利用 原型(prototype)构造出来的。
- 我们的代码在执行过程中会形成执行上下文,一个执行上下文可以激活另一个上下文,就好比一个函数调用了另一个函数(或者全局的上下文调用了一个全局函数),然后一层一层调用下去。 变量对象 (VO) 是一个与执行上下文相关的特殊对象,它存储着在上下文中声明的·变量 (var 变量声明)和·函数声明 (FD)。变量对象在每次进入上下文时创建,并填入初始值,值的更新出现在代码执行阶段。
- this是执行上下文中的一个属性。它的设计目的是在函数体内部指代函数当前的运行环境,以方便的引用当前环境的其它变量对象。在实例化对象时,开发者会使用什么样的变量名是不确定的。使用 this,即可在任何多个地方重用同一个函数。