今天我们要讲的JavaScript变量函数命名原则,对JS初学者非常重要,很多初学者感觉即使不规范也不会出错,所以在命名时往往会比较随意,其实这是不对的。变量和函数命名相对而言没有太多的技术含量,但对于个人编写习惯,或是团队开发协作是相当有用的。良好的书写规范可以让你的JavaScript代码水平更上一个台阶,也更有利于团队协作和开拓自己的编程视野。
首先需要强调的知识,JavaScript对大小写敏感(关键字、函数名、变量名等),标识符的首字符必须是字母、下划线或者$符,其后的字符可以含数字。如果之声明了变量,并未对其赋值,默认为undefined。javascript中不区分整型和浮点型,所有数字都是用浮点型表示的。字符串型包含在单引号或者双引号内。
全名原则
变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号;
变量命名长度应该尽可能的短,并抓住要点,尽量在变量名中体现出值的类型;
尽量避免使用没有意义的命名;
禁止使用JavaScript关键词、保留字全名;
变量名命名方法常见的有匈牙利命名法、驼峰命名法和帕斯卡命名法;
命名分类
a).命名法说明
1).camel命名法,形如thisIsAnApple
2).pascal命名法,形如ThisIsAnApple
3).下划线命名法,形如this_is_an_apple ·
4).中划线命名法,形如this-is-an-apple
根据不同类型的内容,必须严格采用如下的命名法:
b).变量名:必须使用camel命名法
c).参数名:必须使用camel命名法
d).函数名:必须使用camel命名法
e).方法/属性:必须使用camel命名法
f).私有(保护)成员:必须以下划线_开头
g).常量名:必须使用全部大写的下划线命名法,如IS_DEBUG_ENABLED
h).类名:必须使用pascal命名法
i).枚举名:必须使用pascal命名法
j).枚举的属性:必须使用全部大写的下划线命名法
k).命名空间:必须使用camel命名法
l).语义:命名同时还需要关注语义,如:
变量名应当使用名词;
boolean类型的应当使用is、has等起头,表示其类型;·
函数名应当用动宾短语;
类名应当用名词。
匈牙利命名法
匈牙利命名法匈牙利命名法是电脑程序设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法。
匈牙利命名法具备语言独立的特性,并且首次在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 = "yiwuku";
驼峰式命名法
当变量名和函数名称是由二个或多个单字链接在一起,而构成的唯一识别字时,利用“驼峰式大小写”来表示,可以增加变量和函数的可读性。
“驼峰式大小写(Camel-Case)一词来自Perl语言中普遍使用的大小写混合格式,而Larry Wall等人所著的畅销书《Programming Perl》(O'Reilly出版)的封面图片正是一匹骆驼。”
“驼峰式大小写”命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。一旦选用或设置好命名规则,在程序编写时应保持一致格式。
语法
变量名或函数名是由一个或多个单词连结在一起,其中第一个单词以小写字母开始,后面的所有单词的首字母都采用大写字母,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
示例
var myName = "yiwuku"; var formSubmit = document.getElementById("submit"); function timeCount(){}
帕斯卡命名法
Pascal命名法(Pascal Case,巴斯卡命名法/帕斯卡命名法),电脑程序编写时的一套命名规则(惯例)。
当变量名和函数名称是由二个或二个以上单字链接在一起,而构成的唯一识别字时,用以增加变量和函数的可读性。
单字之间不以空格断开或连接号(-)、下划线(_)链接,第一个单前缀字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式大小写的子集。
“Pascal命名法”可视为一种命名惯例,并无绝对与强制,为的是增加识别和可读性。一旦选用或设置好命名规则,在程序编写时应保持格式的一致性。
语法
和驼峰式命名法类似,只不过第一个单词的首字母需要大写。
示例
var MyName = "yiwuku"; var FormSubmit = document.getElementById("submit"); function TimeCount(){}