JavaScript Can Do More¶
Abstract |
JavaScript Can Do More |
Authors |
Walter Fan |
Status |
WIP |
Updated |
2021-12-29 |
概述¶
JavaScript 早已今非昔比,浏览器的功能越来越丰富,几乎成为了第二个操作系统类的开发平台,而 JavaScript 作为每个浏览器都支持的脚本语言在近年来也发扬光大,伴随着nodejs的发展, 它也从一门依附于浏览器的脚本语言发展成为了一门全栈语言。
我曾经写过一篇吐槽的文章:”C++程序员眼中丑陋的 JS”, 从 C++ 程序员的角度,历数 JavaScript 的种种不是。现在看来,观点有点偏激,在充分了解了 JS 这几年的发展之后,不得不对它刮目相看。
例如,在 “Modern JavaScript Features That Every Programmer Must Know..!” 中提到过的 Top features
The let keyword
The const keyword
JavaScript Arrow Functions
JavaScript Classes
Template literals
Freeze Objects
Destructuring
Promises
异步功能¶
使用回调 callback¶
setTimeout(aJobFunction, aJobIntervalMs);
let jobId = setInterval(aJobFunction, aJobIntervalMs);
function stopJob() {
clearInterval(jobId);
}
使用期约 Promise¶
new Promise(function (resolve, reject) {
var a = 0;
var b = 1;
if (b == 0) reject("Divide zero");
else resolve(a / b);
}).then(function (value) {
console.log("a / b = " + value);
}).catch(function (err) {
console.log(err);
}).finally(function () {
console.log("End");
});
async and await¶
async function asyncFunc() {
await print(1000, "First");
await print(4000, "Second");
await print(3000, "Third");
}
asyncFunc();