028-86261949

当前位置:首页 > 技术交流 > JavaScript编程优化

JavaScript编程优化

2019/09/04 14:45 分类: 技术交流 浏览:0

 

一、按强类型风格定义变量

 

大家要知道js是一种弱类型语言,定义变量的时候不要太随意,大多数初学者定义变量时,只是声明变量而没有赋值,这样就显得太随意了

声明变量的时候,一定要指明变量的类型,告诉解析器,你要声明变量的类型,不要让他去猜

 

//2. 定义变量

let odd, //奇数个数

even, //偶数个数

sum,//总和

avg//平均值

 

 

上面这种就是不友好的代码,应该改为

 

//2. 定义变量

let odd = 0, //奇数个数

even = 0, //偶数个数

sum = 0,//总和

avg = 0//平均值

 

 

这样指明类型,方便其他人阅读,知道该变量保存什么类型的值

 

注意:

  1. 也不要随意修改变量的类型,比如上面明明是保存一个数字,下面又保存一个对象,这就让人感觉到很困惑,不知道该保存什么值===这种做法不提倡
  2. 函数返回值也应该确定类型

 

function getPrice(count) {

if (count < 0) return "";

else return count * 100;

}

 

上面函数就没有确定类型,一会字符串,一会数字,都不知道结果该不该参与其他功能运算

 

function getPrice(count) {

if (count < 0) return -1;

else return count * 100;

}

小于0,返回-1,这种就把两个返回值的类型统一化

 

二、避免使用==

 

1. 编码习惯不同,

大多数人喜欢使用== 而不是===,因为==写起来比较简单点,少了一个=,但是在使用==在JSLint检查的时候是不通过的

 

if(a == b){}

 

在JSLint下会输出:Expected ‘===’ and instead saw ‘==’,所以最好使用===

 

 

2. 使用==还有可能会出现一些不好的现象,对后期代码有一定影响

 

null == undefined            //true

'' == '0'                    //false

0 == ''                      //true

0 == '0'                    //true

'' == 0                     //true

new String("abc") == "abc"//true

new Boolean(true) == true //true

true == 1 //true

 

以上用===出现的结果都为false,这样才比较合理

 

 

三、合并表达式

如果用1句代码就可以实现5句代码的功能,那往往1句代码的执行效率会比较高,并且可读性可能会更好

 

1. 用三元运算替换if-else

 

if(a>10){

return 1

}else{

return 0

}

 

改写:

 

return a>10 ? 1 : 0

 

 

2. 使用连等( 从右向左运算 )

 

let sum = count = odd = even = 0;

 

 

3. 自增 ( 利用自增也可以简化代码 )

 

console.log( ++a );

 

 

平常些代码都必须要注意这些,下一节继续讲解ES6编程规范

 

 

 

#标签:JavaScript,编程优化,js