JavaScript 定义类的规范与最佳实践

作者:青柠

时间:2026-10-26

浏览:270

本文总结了 JavaScript 中定义类的规范,涵盖构造函数命名、实例成员与原型成员的区分、以及函数定义的推荐方式。重点解析了以“_”开头的伪私有成员和共享的原型成员,强调避免在构造函数内定义函数以优化内存使用,提供清晰的代码组织建议。

文章目录

JavaScript 类定义概述

使用 JavaScript 定义类时,建议遵循以下规范以确保代码的可读性和维护性。



构造函数与类名规范

首先,需明确指定类名及其对应的构造函数。按照惯例,类名(即构造函数名)的首字母应当大写,以便与其他普通函数区分。


具体实现如下:

 
function YourClass(){
} 

实例成员与伪私有成员定义

在构造函数内部,使用 "this.成员变量" 来定义(伪)私有成员。建议约定此类成员以小写字母开头,且通常以下划线 "_" 作为前缀。这些成员属于每个对象实例独有的副本,因此也被称为对象成员或实例成员。


示例代码如下:

 
function Yourclass(_arg1,_arg2,...){
this._arg1=arg1;
this._arg2=arg2;
//... 
} 

原型成员与共享变量

其次,利用“类名.prototype.成员变量”在构造函数外部定义成员变量。建议约定此类成员以大写字母开头,或者继续遵循伪私有成员以下划线开头小写字母的命名约定。这类成员变量由所有对象共享同一个副本,因此被称为类成员。


相关代码示例如下:

 
Yourclass.prototype.Arg3="arg3...";//定义直接访问不要输入验正的成员变量
Yourclass.prototype._arg4="arg4...";//需要使用setXXX() getXXX()访问器做输入验正

成员函数的正确定义方式

对于成员函数,推荐使用“类名.prototype.成员函数名=function(_arga,_argb,...){}”的方式进行定义。


具体实现方式如下:

 
Yourclass.prototype.YourFucName=function(_arga,_argb,...){
//do somethings
} 

应避免在构造函数内部使用 "this.函数名=function(_arga,....){}" 的方式定义成员函数。函数作为服务模板,应当被所有实例共享,若每个对象都存储一份相同的函数模板,不仅浪费内存,也缺乏实际意义。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章