持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情
前言
良好的习惯总是让人受益匪浅,我们在平时的编写代码的时候不应该只是把代码编写的能运行就行,应该多思考,慢慢养成良好的习惯这样会使得开发更加地高效,减少出错的几率,让你的代码变得更你的人一样美丽。
下面我将分享4个不好的代码例子,它们都非常容易遇到,却又可能非常容易地被忽略。希望对大家有所帮助同时欢迎讨论指出问题!
1.for循环提高性能
将数组的长度进行存储,循环时就不用每次去读取一次数组长度,从而提升性能
很多人的习惯是这样的:
//bad
for (var i = 0; i < arr.length; i++) {
//do something...
}
好的编码习惯是这样的:
//good
for (var i = 0, len = arr.length; i < len; i++) {
//do something...
}
2.运用默认传参而不是条件内判断
调用带有默认值得传参常常比函数内赋值来的简短,可是要注意的是当你传入undefined和 '', "", false, null, 0, 和 NaN 将不会被替代为默认值
很多人的习惯是这样的:
function doTest(name) {
const breweryName = name || "cc";
//do something...
}
好的编码习惯是这样的:
function doTest(name = "cc") {
//do something...
}
2.多层条件嵌套,进行 转换 或 拆分。
很多人的习惯是这样的:
多层的嵌套编写,阅读性差,性能也差
//bad
if (user.id === 10) {
if (user.name !== "") {
if (user.email === "email") {
//do something...
}
}
}
好的编码习惯是这样的:
//good
if(user.id === 10 && user.name !=="" && user.email === "email") {
//do something...
}
如果第一个条件为 true ,那么就执行后面的语句,第一个条件为false, 后面的语句便不会执行
//good
if (user.id !== 10) return;
if (user.name === "") return;
if (user.email !== "email") return;
//do something...
4.避免使用 连等号 声明赋值变量
连等号赋值变量,后面那个会声明成全局变量。全局变量不推荐使用
很多人的习惯是这样的:
//bad
function test() {
var a = b = 1;
}
好的编码习惯是这样的:
//good
function test() {
var a = 1,
b = 1;
}