2019-08-20 10:35:25 3063浏览
这篇文章主要涉及JavaScript中一些简写的代码,现在扣丁学堂HTML5培训小编整理一下分享给小伙伴们,希望可以帮助大家更好理解一些JavaScript的基础,也希望这些代码能从不同的角度帮助你更好的理解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。
	
 
	
                           
  
	
【关注微信公众号获取更多学习资料】 【扫码进入HTML5前端开发VIP免费公开课】