超全面的javascript中变量命名规则
前言
变量的命名相对而言没有太多的技术含量,今天整理有关于变量命名相关的规则,主要是想告诉大家,虽然命名没有技术含量,但对于个人编码,或者说一个团队的再次开发及阅读是相当有用的。良好的书写规范可以让你的javascript代码更上一个台阶,也更有利于团队的再次开发和阅读代码。
全名原则
- 变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号
- 变量命名长度应该尽可能的短,并抓住要点,尽量在变量名中体现出值的类型
- 尽量避免使用没有意义的命名
- 禁止使用javascript关键词、保留字全名
- 变量名命名方法常见的有匈牙利命名法、驼峰命名法和帕斯卡命名法
匈牙利命名法
匈牙利命名法匈牙利命名法是电脑程序设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法。
匈牙利命名法具备语言独立的特性,并且首次在bcpl语言中被大量使用。由于bcpl只有机器字这一种数据类型,因此这种语言本身无法帮助程序员来记住变量的类型。匈牙利命名法通过明确每个变量的数据类型来解决这个问题。
在匈牙利命名法中,一个变量名由一个或多个小写字母开始,这些字母有助于记忆变量的类型和用途,紧跟着的就是程序员选择的任何名称。这个后半部分的首字母可以大写,以区别前面的类型指示字母。
语法
变量名 = 类型 + 对象描述
- 类型指变量的类型
- 对象描述指对象名字全称或名字的一部分,要求有明确含义,命名要容易记忆容易理解。
通过在变量名前面添加相应小写字母的符号标示作为前缀,标示出变量的类型,前缀后面是一个或多个单词组合,单词描述了变量的用途。如果是 jquery 对象,则用 $ 作为变量名的前缀。
提示
虽然 javascript 变量表面上没有类型,但是 javascript 内部还是会为变量赋予相应的类型。
匈牙利命名法是一位微软程序员发明的,多数的 c,c++ 程序都使用此命名法。
类型
javascript 变量命名类型 | 变量命名前缀 |
---|---|
array 数组 | a |
boolean 布尔值 | b |
float 浮点数 | l |
function 函数 | fn |
int 整型 | i |
object 对象 | o |
regular 正则 | r |
string 字符串 | s |
示例
var aname = [1, 2, 3]; var obtn = document.getelementbyid('btn'); function fnname(){}; var icount = 0; var sname = "zhuyujia";
驼峰式命名法
当变量名和函数名称是由二个或多个单字链接在一起,而构成的唯一识别字时,利用“驼峰式大小写”来表示,可以增加变量和函数的可读性。
“驼峰式大小写(camel-case)一词来自perl语言中普遍使用的大小写混合格式,而larry wall等人所著的畅销书《programming perl》(o'reilly出版)的封面图片正是一匹骆驼。”
“驼峰式大小写”命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。一旦选用或设置好命名规则,在程序编写时应保持一致格式。
语法
变量名或函数名是由一个或多个单词连结在一起,其中第一个单词以小写字母开始,后面的所有单词的首字母都采用大写字母,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
示例
var myname = "zhuyujia"; var formsubmit = document.getelementbyid("submit"); function timecount(){}
帕斯卡命名法
pascal命名法(pascal case,巴斯卡命名法/帕斯卡命名法),电脑程序编写时的一套命名规则(惯例)。
当变量名和函数名称是由二个或二个以上单字链接在一起,而构成的唯一识别字时,用以增加变量和函数的可读性。
单字之间不以空格断开或连接号(-)、下划线(_)链接,第一个单前缀字母采用大写字母;后续单字的首字母亦用大写字母,例如:firstname、lastname。每一个单字的首字母都采用大写字母的命名格式,被称为“pascal命名法”,源自于pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(upper camel case),为驼峰式大小写的子集。
“pascal命名法”可视为一种命名惯例,并无绝对与强制,为的是增加识别和可读性。一旦选用或设置好命名规则,在程序编写时应保持格式的一致性。
语法
和驼峰式命名法类似,只不过第一个单词的首字母需要大写。
示例
var myname = "zhuyujia"; var formsubmit = document.getelementbyid("submit"); function timecount(){}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
下一篇: 用C++封装MySQL的API的教程