特殊:
布尔值变量建议添加符合其含义的前缀动词javascript
is
:是否can
:能不能has
:有没有示例:java
// 页面标题 let pageTitle = "JS命名规范"; // 是否显示 let isShow = false;
示例:dom
// 获取列表数据 function getList() { // ... }
命名建议:语义化的名词函数
class Login { // ... }
实例属性和方法(遵循变量和函数的命名规范)编码
class Login { // 实例属性 name = "iqeq"; // 实例方法 login = function () { // ... } // 实例方法简写 reset() { // ... } }
静态属性和方法(遵循变量和函数的命名规范)code
class Login { // 静态属性 static description = "登录业务逻辑"; // 静态方法 static log = function () { // ... } }
function
中定义同名的变量若是在一个函数中出现多个同名的参数,后面出现的会覆盖前面出现的参数。对象
错误代码示例:ip
function foo(a, b, a) { console.log("value of the second a:", a); }
正确代码示例:get
function foo(a, b, c) { console.log(a, b, c); }
function
错误代码示例:it
if (test) { function doSomethingElse () { // ... } doSomethingElse(); }
正确代码示例:
function doSomethingElse () { // ... } if (test) { doSomethingElse(); }
return
throw
continue
和break
语句后出现不可达代码错误代码示例:
function foo() { return true; console.log("done"); } function bar() { throw new Error("Oops!"); console.log("done"); } while(value) { break; console.log("done"); } throw new Error("Oops!"); console.log("done"); function baz() { if (Math.random() < 0.5) { return; } else { throw new Error(); } console.log("done"); }
错误代码示例:
window = {}; Object = null; undefined = 1;
在JavaScript
中,能够对同一个变量再次声明。这会使变量实际声明和定义的位置混乱不堪。
错误代码示例:
var a = 3; var a = 10;
正确代码示例:
var a = 3; // ... a = 10;
已声明的变量在代码里未被使用过,就像是因为不完整的重构而致使的遗漏错误。这样的变量增长了代码量,而且混淆读者。
错误代码示例:
function test(a) { // b变量虽然声明了,但没被使用 var b = 1; return a + 1; }
持续更新....