本文深入解析 JavaScript 面向对象编程基础,涵盖对象创建的多种方式。重点讲解如何利用 prototype 实现公共方法,通过闭包机制处理私有变量,以及动态生成特权方法的原理。同时介绍静态方法对命名空间的管理作用,帮助开发者掌握专业 JS 开发的核心概念。
JavaScript 对象基础
对象是 JavaScript 语言的核心基础。从最基础的层面来看,对象本质上是一组属性的集合。
对象的创建方式
1. 对象的创建
相信很多开发者已经多次接触过这些创建对象的方式,并且对其非常熟悉。
2,对象的使用
函数实例化对象
与其他面向对象语言不同,JavaScript 中没有类的概念。在 JavaScript 中,任何函数都可以被实例化为一个对象。
上述代码通过 new User() 来创建函数的一个新对象。创建出的新对象拥有 name 属性,并且 constructor 属性指向创建它的函数。
3,公共方法
公共方法与原型链
公共方法是在对象的上下文中用户始终可以访问到的。要实现这种方法,需要用到原型属性——。
对象的原型仍然是对象。给原型对象添加属性后,由该原型实例化的每个对象都可以访问这些属性,即这些属性都是公有化的。
4,私有方法
私有方法访问控制
这个概念还比较好理解。字面意思是只能在内部访问。
5,特权方法
特权方法的动态生成
它是以公共的方式访问私有变量。
本质上,特权方式是动态生成的。因为它们是在运行时才添加到对象中的,而不是在代码第一次编译时就已经生成。
这种动态生成代码的能力不可小视,能根据与你想那个时变量来生成代码是非常有用的。看下面动态生成方法的例子:
6,静态方法
静态方法与命名空间
静态方法的实质跟一般函数没有什么不同,静态方法能保证对象的命名空间的整洁。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
二,小结
总结
理解本章所描述的概念和内容是非常重要的,这是完全掌握专业 JavaScript 的起点。