摘要:而且狀態一旦改變,就無法再次改變。這是因為立即的是在本輪事件循環的末尾執行,總是晚于本輪循環的同步任務。返回布爾值,表示參數字符串是否在原字符串的頭部。用于頭部補全,用于尾部補全。
9月5日
array.push(...newArray) // 往數組插入數組 // 交換a和b的值 // ES6寫法 var a = 1, b = 2; [a, b] = [b, a]; console.log(a, b); // 2 1 // Babel轉換成ES5后 var a = 1, b = 2; var _ref = [b, a]; a = _ref[0]; b = _ref[1]; console.log(a, b); // 2 1 // 獲取某個元素相對于瀏覽器窗口的位置 var domRect = element.getBoundingClientRect(); // 刪除數組index1、index2位置上的數,并返回裁剪部分的新數組 _.pullAt(array, [index1, index2]);9月6日 Promise對象
Promise有三種狀態:pending(進行中)、fulfilled(已成功)和rejected(已失敗)。而且狀態一旦改變,就無法再次改變。
Promise新建后會立即執行。
比如:
function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, "done"); }); } timeout(100).then((value) => { console.log(value); });
上面代碼中,timeout方法返回一個Promise實例,表示一段時間以后才會發生的結果。過了指定的時間(ms參數)以后,Promise實例的狀態變為resolved,就會觸發then方法綁定的回調函數。
let promise = new Promise(function(resolve, reject) { console.log("Promise"); resolve(); }); promise.then(function() { console.log("resolved."); }); console.log("Hi!"); // Promise // Hi! // resolved
new Promise((resolve, reject) => { resolve(1); console.log(2); }).then(r => { console.log(r); }); // 2 // 1
上面代碼中,調用resolve(1)以后,后面的console.log(2)還是會執行,并且會首先打印出來。這是因為立即 resolved 的 Promise 是在本輪事件循環的末尾執行,總是晚于本輪循環的同步任務。
var promise = new Promise(function (resolve, reject) { resolve("ok"); setTimeout(function () { throw new Error("test") }, 0) }); promise.then(function (value) { console.log(value) }); // ok // Uncaught Error: test
Promise.resolve()是在本輪“事件循環”的結束時執行,而不是在下一輪“事件循環”的開始。
setTimeout(function () { console.log("three"); }, 0); Promise.resolve().then(function () { console.log("two"); }); console.log("one"); // one // two // three
上面代碼中,setTimeout(fn, 0)在下一輪“事件循環”開始時執行,Promise.resolve()在本輪“事件循環”結束時執行,console.log("one")則是立即執行,因此最先輸出。
字符串includes():返回布爾值,表示是否找到了參數字符串。
startsWith():返回布爾值,表示參數字符串是否在原字符串的頭部。
endsWith():返回布爾值,表示參數字符串是否在原字符串的尾部。
repeat():返回一個新的字符串,表示將原字符串重復n次。如果參數是小數,則會被取整。
padStart()、padEnd():字符串補全長度的功能。如果某個字符串不夠長度,會在頭部或尾部補全。padStart()用于頭部補全,padEnd()用于尾部補全。
includes()、startsWith()、endsWith()都支持傳入第二個參數,傳入開始搜索的位置。padStart()、padEnd()
JS數組去重黑魔法使用數組新建一個Set對象,然后把它轉換成數組
var array = [1, 2, 3, 4, 1, 2, 3, 4]; console.log([...new Set(array)]); // [1, 2, 3, 4] console.log(Array.from(new Set(array))); // [1, 2, 3, 4]
文章出處:阮一峰ES6入門
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88396.html
摘要:語義如何運用語義類標簽來呈現網頁通過網頁案例來學習語義類標簽最初的設計場景就是超文本,早期工作組的專家都是出版界書籍排版的專家。標記的部分有三個注記,它在文章中的作用就是額外的注釋,但是中并沒有相關的語義,這時可以使用標簽進行相關實現。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一...
摘要:語義如何運用語義類標簽來呈現網頁通過網頁案例來學習語義類標簽最初的設計場景就是超文本,早期工作組的專家都是出版界書籍排版的專家。標記的部分有三個注記,它在文章中的作用就是額外的注釋,但是中并沒有相關的語義,這時可以使用標簽進行相關實現。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一...
摘要:筆記說明重學前端是程劭非前手機淘寶前端負責人在極客時間開的一個專欄,每天分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的可以加入的專欄學習原文有的語音,如有侵權請聯系我,郵箱。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的可以...
摘要:筆記說明重學前端是程劭非前手機淘寶前端負責人在極客時間開的一個專欄,每天分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的可以加入的專欄學習原文有的語音,如有侵權請聯系我,郵箱。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的可以...
閱讀 2894·2021-08-20 09:37
閱讀 1618·2019-08-30 12:47
閱讀 1106·2019-08-29 13:27
閱讀 1694·2019-08-28 18:02
閱讀 758·2019-08-23 18:15
閱讀 3097·2019-08-23 16:51
閱讀 940·2019-08-23 14:13
閱讀 2159·2019-08-23 13:05