js 最佳实践

1.避免声明全局变量
2.始终声明局部变量

所有在函数中使用的变量应该被声明为局部变量。
局部变量必须通过 `var` 关键词来声明,否则它们将变成全局变量。
严格模式不允许未声明的变量。

3.在顶部声明(先声明,再使用)

// 在顶部声明
let firstName, lastName, price, discount, fullPrice;

// 稍后在使用
firstName = "Bill";
lastName = "Gates";
price = 19.90;
discount = 0.10;
fullPrice = price * 100 / discount;

也可以用于循环变量:

// 在顶部声明
var i;

// 稍后使用
for (i = 0; i < 5; i++)  {}

// 默认地,JavaScript 会将所有声明移至顶部(JavaScript hoisting)。

4.声明并初始化

let firstName = "zhangsan",
	lastName = '',
	address = null,
	gender = 'male',
	education = null
const age = 20	

5.请尽量不要使用 new Object()

请使用 {} 来代替 new Object()
请使用 "" 来代替 new String()
请使用 0 来代替 new Number()
请使用 false 来代替 new Boolean()
请使用 [] 来代替 new Array()
请使用 /()/ 来代替 new RegExp()

```javascript
const regExp = /^...$/ // 声明一个匹配模式
regExp.test('...') // 调用test()方法
// 手机号码:/^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/
// 身份证号码:/^\d{17}([0-9]|X|x)$/

请使用 function (){}来代替 new Function()

let x1 = {}; // 新对象
const x2 = “”; // 新的原始字符串值
let x3 = 0; // 新的原始数值
let x4 = false; // 新的原始布尔值
const x5 = []; // 新的数组对象
const x6 = /()/; // 新的正则表达式
let x7 = function(){}; // 新的函数对象

6.明白显式,隐式类型转换
```javascript
显式类型转换: `parseInt(), parseFloat(), Number(), String(), Boolean(), toString()`等
隐式类型转换:`!`逻辑非操作符(`-0, +0, NaN, '', false, undefined, null`,等都会转换为false),`==`(相等运算),`+` (加法运算符)

7.使用 === (严格相等) 而不是===== 不会进行隐式类型转换,== 会隐式类型转换)
8.使用默认参数

// 如果调用函数时缺少一个参数,那么这个缺失参数的值会被设置为 undefined。
// undefined 值会破坏您的代码。为参数设置默认值是一个好习惯
function add (x, y = 5) {
	return x + y
}
add(10) // 15 

9.用 default 来结束 switch
请使用使用 default 来结束您的 switch 语句。即使您认为没有这个必要

switch (new Date().getDay()) {
	case 0:
	day = 'Sunday'
	break
	case 1:
	day = 'Monday'
	break
	case 2:
	day = 'Tuesday'
	break
	case 3:
	day = 'Mednesday'
	break
	case 4:
	day = 'Thursday'
	break
	case 5:
	day = 'Friday'
	break
	case 6:
	day = 'Monday'
	break
	default
	day = 'invalid day number'
}
  1. 使用箭头函数()=>(箭头函数的作用域是其父级函数的作用域,箭头函数的作用域是静态的, 代码简洁,优雅)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值