微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript简写常用的12个技巧可以大大减少你的js代码量

前言

本文主要给大家分享了javascript简写常用的12个技巧,无论你是初学者还是资深人士,都值得一读!下面话不多说了,来一起看看详细的介绍:

1. 空(null,undefined)验证

当我们创建了一个新的变量,我们通常会去验证该变量的值是否为空(null)或者未定义(undefined)。这对于JavaScript编程来说,是一个经常要考虑到的验证。

如果直接写,像下面这样:

rush:js;"> if (variable1 !== null || variable1 !== undefined || variable1 !== ''){ let variable2 = variable1; }

我们可以使用一个更加简洁的版本

rush:js;"> let variable2 = variable1 || '';

如果你不信,可以在谷歌浏览器开发者模式下的控制台中试试!

rush:js;"> //值为null的例子 let variable1 = null; let variable2 = variable1 || ''; console.log(variable2); //输出: '' //值为undefined的例子 let variable1 = undefined; let variable2 = variable1 || ''; console.log(variable2); //输出: '' //正常情况 let variable1 = 'hi there'; let variable2 = variable1 || ''; console.log(variable2); //输出: 'hi there'

在这里要注意的是,你在调试完一组代码后要刷新下页面,或者定义不同的变量,不然会报错:

2. 数组

这个好像比较简单!

非优化代码

rush:js;"> let a = new Array(); a[0] = "myString1"; a[1] = "myString2"; a[2] = "myString3";

优化代码

rush:js;"> let a = ["myString1","myString2","myString3"];

3. if true .. else 的优化

10) { big = true; } else { big = false; }

简化后:

10 ? true : false;

这是三目运算,当判断条件和结果都只有一个的时候可以使用。

极大的简化了代码量!

10); let x = 3,big = (x > 10) ? "greater 10" : (x < 5) ? "less 5" : "between 5 and 10"; console.log(big); //"less 5" let x = 20,big = {true: x>10,false : x< =10}; console.log(big); //"Object {true=true,false=false}"

4. 变量声明

尽管JavaScript会自动讲变量上提(hoist),使用该方法可以讲所有的变量都在函数的头部用一行搞定。

优化钱:

rush:js;"> let x; let y; let z = 3;

优化后:

rush:js;"> let x,y,z=3;

5. 赋值语句的简化

简化前:

rush:js;"> x=x+1; minusCount = minusCount - 1; y=y*10;

简化后:

rush:js;"> x++; minusCount --; y*=10;

假设x=10,y=5,那么基本的算术操作可以使用如下的简写方式:

rush:js;"> x += y // x=15 x -= y // x=5 x *= y // x=50 x /= y // x=2 x %= y // x=0

6. 避免使用RegExp对象

简化前:

rush:js;"> var re = new RegExp("\d+(.)+\d+","igm"),result = re.exrc("padding 01234 text text 56789 padding"); console.log(result);//"01234 text text 56789"

简化后:

rush:js;"> var result = /d+(.)+d+/igm.exec("padding 01234 text text 56789 padding"); console.log(result); //"01234 text text 56789"

7. If 条件优化

简化前:

rush:js;"> if (likeJavaScript === true)

简化后:

rush:js;"> if (likeJavaScript)

我们再来个判断非真的例子:

rush:js;"> let c; if ( c!= true ) { // do something... }

简化后:

rush:js;"> let c; if ( !c ) { // do something... }

9. 函数参数优化

我个人倾向于使用获取对象元素的方式来访问函数参数,当然这个见仁见智啦!

通常使用的版本:

rush:js;"> function myFunction( myString,myNumber,myObject,myArray,myBoolean ) { // do something... } myFunction( "String",1,[],{},true );

我喜欢的版本:

rush:js;"> function myFunction() { /* 注释部分 console.log( arguments.length ); // 返回 5 for ( i = 0; i < arguments.length; i++ ) { console.log( typeof arguments[i] ); // 返回 string,number,object,boolean } */ } myFunction( "String",true );

译者注:原文下方有评论表示不建议用楼主的方法,使用第一种方法函数参数的顺序是可以变动的,第二种你就要小心了。

10. charat()的替代品

简化前:

rush:js;"> "myString".charat(0);

简化后:

rush:js;"> "myString"[0];//返回'm'

译者注:我相信用第一种方法的人已经不多了吧!

11. 函数调用还可以更短

简化前:

rush:js;"> function x() {console.log('x')};function y() {console.log('y')}; let z = 3; if (z == 3) { x(); } else { y(); }

简化后:

rush:js;"> function x() {console.log('x')};function y() {console.log('y')};let z = 3; (z==3?x:y)();

12. 如何优雅的表示大数字

在JavaScript中,有一个简写数字的方法,也许你忽略了。1e7表示10000000。

简化前:

rush:js;"> for (let i = 0; i < 10000; i++) {

简化后:

rush:js;"> for (let i = 0; i < 1e7; i++) {

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

译者:Fundebug

译文:...

原文:...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐