扣丁学堂HTML5培训简述JavaScript编码小技巧有哪些

2019-08-20 10:35:25 3002浏览

这篇文章主要涉及JavaScript中一些简写的代码,现在扣丁学堂HTML5培训小编整理一下分享给小伙伴们,希望可以帮助大家更好理解一些JavaScript的基础,也希望这些代码能从不同的角度帮助你更好的理解JavaScript。


扣丁学堂HTML5培训简述JavaScript编码小技巧有哪些


三元操作符


如果使用if...else语句,那么这是一个很好节省代码的方式。


Longhand:

const x = 20;
let answer;
if (x > 10) {
 answer = 'is greater';
} else {
 answer = 'is lesser';
}


Shorthand:

const answer = x > 10 ? 'is greater' : 'is lesser';


你还可以像下面这样嵌套if语句:

const big = x > 10 ? " greater 10" : x


Short-circuit Evaluation


分配一个变量值到另一个变量的时候,你可能想要确保变量不是null、undefined或空。你可以写一个有多个if的条件语句或者Short-circuit Evaluation。


Longhand:

if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
 let variable2 = variable1;
}


Shorthand:

const variable2 = variable1 || 'new';


不要相信我,请先相信自己的测试(可以把下面的代码粘贴在es6console)

let variable1;
let variable2 = variable1 || '';
console.log(variable2 === ''); // prints true
variable1 = 'foo';
variable2 = variable1 || '';
console.log(variable2); // prints foo


声明变量


在函数中声明变量时,像下面这样同时声明多个变量可以节省你大量的时间和空间:


Longhand:

let x;
let y;
let x = 3;


Shorthand:

let x, y, z=3;


如果存在


这可能是微不足道的,但值得提及。做“如果检查”时,赋值操作符有时可以省略。


Longhand:

if (likeJavaScript === true)


Shorthand:

if (likeJavaScript)

注:这两种方法并不完全相同,简写检查只要likeJavaScript是true都将通过。

这有另一个示例。如果a不是true,然后做什么。


Longhand:

let a;
if ( a !== true ) {
// do something...
}


Shorthand:

let a;
if ( !a ) {
// do something...
}


JavaScript的for循环


如果你只想要原生的JavaScript,而不想依赖于jQuery或Lodash这样的外部库,那这个小技巧是非常有用的。


Longhand:

for (let i = 0; i < allImgs.length; i++)


Shorthand:

for (let index in allImgs)


Array.forEach简写:

function logArrayElements(element, index, array) {
 console.log("a[" + index + "] = " + element);
}
[2, 5, 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[2] = 9


Short-circuit Evaluation


如果参数是null或者是undefined,我们可以简单的使用一个Short-circuit逻辑运算,实现一行代码替代六行代码的写法。


Longhand:

let dbHost;
if (process.env.DB_HOST) {
 dbHost = process.env.DB_HOST;
} else {
 dbHost = 'localhost';
}


Shorthand:

const dbHost = process.env.DB_HOST || 'localhost';


十进制指数


你可能看过这个。它本质上是一个写数字的奇特写法,就是一个数字后面有很多个0。例如1e7本质相当于10000000(1的后面有7个0)。它代表了十进制计数等于10000000。


Longhand:

for (let i = 0; i < 10000; i++) {}


Shorthand:

for (let i = 0; i < 1e7; i++) {}
// All the below will evaluate to true
1e0 === 1;
1e1 === 10;
1e2 === 100;
1e3 === 1000;
1e4 === 10000;
1e5 === 100000;


对象属性


定义对象文字(Object literals)让JavaScript变得更有趣。ES6提供了一个更简单的办法来分配对象的属性。如果属性名和值一样,你可以使用下面简写的方式。


Longhand:

const obj = { x:x, y:y };


Shorthand:

const obj = { x, y };


箭头函数


经典函数很容易读和写,但它们确实会变得有点冗长,特别是嵌套函数中调用其他函数时还会让你感到困惑。


Longhand:

function sayHello(name) {
 console.log('Hello', name);
}
setTimeout(function() {
 console.log('Loaded')
}, 2000);
list.forEach(function(item) {
 console.log(item);
});


Shorthand:

sayHello = name => console.log('Hello', name);
setTimeout(() => console.log('Loaded'), 2000);
list.forEach(item => console.log(item));

想要了解更多关于HTML5开发方面内容的小伙伴,请关注扣丁学堂HTML5培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的HTML5讲师为您指导,此外扣丁学堂老师精心推出的HTML5视频教程定能让你快速掌握HTML5从入门到精通开发实战技能。扣丁学堂H5技术交流群:673883249。


                           【扫码进入HTML5VIP免费公开课】  


     【关注微信公众号获取更多学习资料】        【扫码进入HTML5前端开发VIP免费公开课】  



查看更多关于“HTML5开发技术资讯”的相关文章>>


标签: HTML5培训 HTML5视频教程 HTML5学习视频 HTML5在线视频 HTML5培训班 微信小程序

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号