变量和函数
变量名应该总是遵循驼峰大小命名写法,并且命名前缀应当是名词。以名词作为前缀可以让变量和函数区分开来,因为函数名前缀应当是动词。
// 好的写法
var count = 10;
var myName = “Nichlas”;
var found = true;
// 不好的写法:变量看起来像函数
var getcount = 10;
var isFound = true;
// 好的写法
functiongetName() {
return myName;
}
// 不好的写法:函数看起来像变量
function theName() {
return myName;
}
总结:尽量在变量名中体现出值得数据类型。比如:,命名 count、length、size和page表明数据类型是数字,而命名 name、title、和message 表明数据类型是字符串。
函数命名方法:
对于函数的方法命名来说,第一个单词应该是动词。
动词 含义
can 函数返回一个布尔值
has 函数返回一个布尔值
is 函数返回一个布尔值
get 函数返回一个非布尔值
set 函数用来保存一个值
示列:
if (isEnabled()){
setName("Nicholas");
}
if(getName() === "Nicholas") {
doSomething();
}
null:
null是一个特殊值,但我们常常误解它,将它和undefined搞混。在下列场景中应当使用null。
● 用来初始化一个变量,这个变量可能赋值为一个对象。
● 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
● 当函数的参数期望对象时,用作返回值传入。
● 当函数的返回值期望是对象时,用作返回值传出。
还有下面一些场景不应当使用null
● 不要使用null来检测是否传入了某个参数。
● 不要用null来检测一个未初始化的变量。
示列代码:
// 好的方法
var person = null;
//好的方法
function getPerson(){
if(condition){
return new Person(“Nicholas”);
} else {
return null;
}
}
// 好的方法
var person = getPerson();
if(person !== null){
doSomething();
}
// 不好的写法:用来和未初始化的变量比较
var person;
if(person != null) {
doSomething();
}
// 不好的写法:检测是否传入参数
function doSomething(arg1,arg2,arg3,arg4){
if(arg4 != null){
doSomethingElse();
}
}
理解null 最好的方式就是将它当做对象的占位符(placeholder)。这个规则在所有的主流编程规范中都没有提及,但对于全局维护性来说至关重要。
undefined:
undefined 是一个特殊值,我们通常将它和null搞混。其中一个让人颇为困惑之处在于 null == undefined 结果是true。 然而,这两个值得用途却各不相同。那些没有被初始化的变量都有一个初始值,即 undefined,表示这个变量等待被赋值。
比如:
var person;
console.log(person === undefined); //true
尽管这段代码能正常运行工作,但我们尽量避免代码中使用undefined。
注释:
单行注释不应当连续多行注释的形式出现,除非你注释掉一段换代码。只有当需要主是一段很长的文本时才使用多行注释。
示列代码:
// 好的写法
if(condition) {
// 如果代码执行到这里,则表明通过了所有的安全检查
allowed();
}
// 不好的写法:注释之前没有空格
if(condition) {
// 如果代码执行到这里,则表明通过了所有的安全检查
allowed();
}
正确的使用注释:
何时添加注释是程序员经常争论的一个话题。一种通行的指导原则是,当代吗不够清晰时加注释,而代码很明确了时不应当添加注释。
// 不好的写法
// 初始化 count
var count = 10;
代码中初始化count 的操作显而易见。 如果这个值10具有特殊的意义,通过戴拿无法看出来,这个是有有必要添加注释。
// 好的写法
// 改变这个值可能会让它变成青蛙
var count = 10;
网友评论