JavaScript 面向对象类创建与闭包
程序员文章站
2022-04-05 19:45:10
...
JavaScript 不是面向对象的程序设计语言,其中的继承、多态并没有很好的实现,JavaScript 没有规范的语法去创建类,JavaScript 在定义函数时,同时也定义了一个同名的类,该函数就是该类的构造器,通过该函数创建的对象既属于该类实例,又属于object类实例。
JavaScript 各类的对象不存在直接的父子关系,但他们都拥有共同的父亲object。
一般来说,我们不在类中定义方法,因为这样有以下两种缺点:
1.性能低下:因为每次创建Person实例时,程序依次向下执行,每次执行程序中粗体字
代码时都将创建一个 新的info函数一当创建多 个Person对象时,系统就会有很多个info函数一这 就会造成系统内存泄漏,从而引起性能下降。实际上,info 函数只需要一个就够了。
2.使得info函数中的局部变量产生闭包:闭包会扩大局部变量的作用域,使得局部变量一直存活到函数之外的地方。如下图
这里我们了解到一个新的概念,闭包。所谓闭包就是能够访问到局部变量的局部函数,图中的info方法中会输出变量locVal的值,而这个变量是类中的局部变量,所以info方法相当于一座桥,将外部与内部连接,使得类外可以访问到类内的变量,这就是闭包。
上一篇: WEEX环境搭建
下一篇: 直方图均衡化技术实现图像的灰度归一化
推荐阅读
-
JavaScript函数、闭包、原型、面向对象学习笔记
-
JavaScript函数、闭包、原型、面向对象学习笔记
-
JavaScript面向对象学习之类的创建,类的抽象代码实例讲解
-
JavaScript碎片—函数闭包(模拟面向对象)
-
JavaScript-类的定义与对象的创建代码实例
-
JavaScript碎片———函数闭包(模拟面向对象)
-
【20190220】JavaScript-知识点理解:对象创建方式、原型、闭包
-
JavaScript:14-面向过程和面向对象、对象与类、面向对象版tab栏切换
-
闭包的原理与经典应用场景,访问器属性,类与对象的创建与成员引用,数组与对象的解构过程与经典案例,JS引入到浏览器中的的方法及获取DOM元素的两个API
-
闭包/类与对象/解构/浏览器的 js