ES6.基本語法
* ES6可以使用=>作為函數表達形式,簡單的風格: 參數 + => +函數體;
* 在JS中是以var定義一個變量 ,在ES6中是以let定義變量;
let 和 var 區別:
A. var 聲明變量,其作用域為局所在的函數內,且存在變量提升現像;
B. left 申明變量,其作用域為改語句所在的代碼內,不存在變量的提升;
1 // var 的情況 2 console.log(foo); // 輸出undefined 3 var foo = 2; 4 5 // let 的情況 6 console.log(bar); // 報錯ReferenceError 7 let bar = 2; 8 沒有變量提升
C. let 不允許重復申明;
1 function num (){ 2 let pp = w; 3 let pp= w; 4 } 5 // 會報錯
* 箭頭函數中的this指的不是window,是對象本身;
* 箭頭函數的特性:
A。 箭頭函數時匿名函數,自身沒有this和arguments,它的this 從上下文捕獲而來;
B。 箭頭函數不能作為構造函數,和new 一起用就會拋出錯誤;
C。 箭頭函數沒有原型屬性(prototype);
D. 箭頭函數不能當做Generator 函數,不能使用Yield關鍵字;
* var let const(控制台):
a. ES6在函數中使用let定義變量;
b. const 用來聲明一個常量(值類似值不能改變,引用類型地址不能改變)
c. let和const只在最近的一個快中(話括號)中有效;
* 對象字面量的擴展:
a, 可以在對象字面量里面定義原型:
b. 定義方法可以不用function關鍵字:
c. 直接調用父類方法;
* ES6中提供了用反引號 ` 來創建字符串,里面可包含${...}等;
* ltertors(迭代器);
ES6 中可以通過symbol.iterartor給對象設置默認的瀏覽器,
直到狀態為true退出;
* ES6中非常關注的一個功能,能夠在函數中間暫停,一次和多次,
並且之后恢復執行,在他暫停期間允許其他代碼執行,並可以用其實現異步:
* Map + Set + WeakMap + Weaket:
a. Set 對象是一組不重復的值,重復的值將被忽略,值類型可以是原始類型和引用類型;
B. WeakSet 是一中弱引用,同理WeakMap:
* proxies:
proxy可以監聽對象身上發生了什么事,並在這點事情發生后執行一點相應的操作;
* Symbols:
Symbol 是一中新的數據類型,他的值是唯一的,不可改變的,
Es6 中提出Symbol的目的是為生成了一個唯一的標示符,不過訪問不到這個標示符;
{如果需要獲取對象Symbol屬性,需要使用Object.getOwnPropertymbols(0)}
* promises:
a. ES6 中對,promises有了原聲的支持,一個promise是一個等待異步執行的對象,當他執行完成后,
其狀態會變成resolved或者是rejected;
b. promises是處理異步操作的一種模式,之前在很多三方庫中有實現,
* const聲明:
const引入了常量的概念。常亮一般為固定的值是不能改變的,(常量不能改變)
但是const不能修改的是這個值的引用空間。
A。 箭頭函數時匿名函數,自身沒有this和arguments,它的this 從上下文捕獲而來;
B。 箭頭函數不能作為構造函數,和new 一起用就會拋出錯誤;
C。 箭頭函數沒有原型屬性(prototype);
D. 箭頭函數不能當做Generator 函數,不能使用Yield關鍵字;
按位運算符:
操作符 | 使用 | 描述 |
---|---|---|
A位與 | a & b | 返回兩個操作數的相應位為1的每個位的位置 |
位或 | a | b | 返回每個位的位置,其中一個或兩個操作數的相應位為1 |
位亦或 | a^b | 在每個位的位置返回一個,但不是兩個操作數的相應位都是1 |
位取反 | ~ a | 反轉其操作數的位 |
左移位 | a << b | 將b的二進制表示b(<32)位左移,右移0位 |
右移位 | a >> b | 將b的二進制表示b(<32)位向右移位,丟棄關閉的位 |
0填充右移位 | a >>> b | 將二進制表示b(<32)位向右移位,丟棄移位的位,並從左移零 |
事件:
屬性 | 值 | 描述 |
---|---|---|
offline | script | 文檔脫機時觸發 |
onabort | script | 觸發中止事件 |
onafterprint | script | 打印文檔后觸發 |
onbeforeonload | script | 在文檔加載之前觸發 |
onbeforeprint | script | 在打印文檔之前觸發 |
onblur | script | 當窗口失去焦點時觸發 |
oncanplay | script | 觸發媒體可以開始播放,但可能不得不停止緩沖 |
oncanplaythrough | script | 當媒體可以播放到最后時觸發,而不停止緩沖 |
onchange | script | 元素更改時觸發 |
onclick | script | 觸發鼠標點擊 |
oncontextmenu | script | 觸發上下文菜單時觸發 |
ondblclick | script | 觸發鼠標雙擊 |
ondrag | script | 當元素被拖動時觸發 |
ondragend | script | 在拖動操作結束時觸發 |
ondragenter | script | 當元素被拖動到有效的放置目標時觸發 |
ondragleave | script | 元素離開有效放置目標時觸發 |
ondragover | script | 當元素被拖拽到有效的放置目標上時觸發 |
ondragstart | script | 在拖動操作開始時觸發 |
ondrop | script | 拖動元素被刪除時觸發 |
ondurationchange | script | 當媒體長度改變時觸發 |
onemptied | script | 媒體資源元素突然變空時觸發 |
onended | script | 當媒體已經結束時觸發 |
onerror | script | 發生錯誤時觸發 |
onfocus | script | 窗口獲得焦點時觸發 |
onformchange | script | 當表單更改時觸發 |
onforminput | script | 當表單獲得用戶輸入時觸發 |
onhaschange | script | 當文檔發生變化時觸發 |
oninput | script | 元素獲取用戶輸入時觸發 |
oninvalid | script | 元素無效時觸發 |
onkeydown | script | 按下某個鍵時觸發 |
onkeypress | script | 當按下並釋放按鍵時觸發 |
onkeyup | script | 觸發鍵釋放時 |
onload | script | 文檔加載時觸發 |
onloadeddata | script | 媒體數據加載時觸發 |
onloadedmetadata | script | 當媒體元素的持續時間和其他媒體數據加載時觸發 |
onloadstart | script | 當瀏覽器開始加載媒體數據時觸發 |
onmessage | script | 觸發消息時觸發 |
onmousedown | script | 當按下鼠標按鈕時觸發 |
onmousemove | script | 當鼠標指針移動時觸發 |
onmouseout | script | 當鼠標指針移出元素時觸發 |
onmouseover | script | 當鼠標指針移到元素上時觸發 |
onmouseup | script | 當鼠標按鈕被釋放時觸發 |
onmousewheel | script | 鼠標滾輪旋轉時觸發 |
onoffline | script | 當文檔脫機時需要更新 |
ononline | script | 文檔聯機時觸發 |
onpagehide | script | 窗口隱藏時觸發 |
onpageshow | script | 當窗口變得可見時觸發 |
onpause | script | 媒體數據暫停時觸發 |
onplay | script | 媒體數據開始播放時觸發 |
onplaying | script | 媒體數據開始播放時觸發 |
onpopstate | script | 當窗口的歷史更改時觸發 |
onprogress | script | 當瀏覽器獲取媒體數據時觸發 |
onratechange | script | 當媒體數據的播放速率發生變化時觸發 |
onreadystatechange | script | 當就緒狀態改變時觸發 |
onredo | script | 當文檔執行重做時觸發 |
onresize | script | 窗口大小調整時觸發 |
onscroll | script | 觸發元素的滾動條滾動時 |
onseeked | script | 當媒體元素的seek屬性不再成立並且搜索結束時觸發 |
onseeking | script | 當媒體元素的seek屬性為true並且搜索已經開始時觸發 |
onselect | script | 當選擇一個元素時觸發 |
onstalled | script | 在獲取媒體數據時發生錯誤時觸發 |
onstorage | script | 文檔加載時觸發 |
onsubmit | script | 提交表單時觸發 |
onsuspend | script | 在瀏覽器獲取媒體數據時觸發,但在獲取整個媒體文件之前停止 |
ontimeupdate | script | 當媒體改變其播放位置時觸發 |
onundo | script | 當文檔執行撤消時觸發 |
onunload | script | 當用戶離開文檔時觸發 |
onvolumechange | script | 在介質更改音量時觸發,也在音量設置為“靜音”時觸發 |
onwaiting | script | 當媒體停止播放時觸發,但預計會恢復 |
時間:
方法 & 描述 | |
---|---|
1 | Date()返回今天的日期和時間 |
2 | getDate()根據當地時間返回指定日期的月份的某一天 |
3 | getDay()根據當地時間返回指定日期的星期幾 |
4 | getFullYear()根據當地時間返回指定日期的年份 |
5 | getHours()根據當地時間返回指定日期的小時數 |
6 | getMilliseconds()根據當地時間返回指定日期的毫秒數 |
7 | getMinutes()根據當地時間返回指定日期的分鍾數 |
8 | getMonth()根據當地時間返回指定日期中的月份 |
9 | getSeconds()根據當地時間返回指定日期的秒數 |
10 | getTime()返回指定日期的數值作為自1970年1月1日,00:00 UTC以來的毫秒數 |
11 | getTimezoneOffset()以分鍾為單位返回當前語言環境的時區偏移量 |
12 | getUTCDate()根據通用時間返回指定日期中月份的日期(日期) |
13 | getUTCDay()根據通用時間返回指定日期中的星期幾 |
14 | getUTCFullYear()根據通用時間返回指定日期的年份 |
15 | getutcHours()根據通用時間返回指定日期的小時數 |
16 | getUTCMilliseconds()根據通用時間返回指定日期的毫秒數 |
17 | getUTCMinutes()根據通用時間返回指定日期的分鍾數 |
18 | getUTCMonth()根據通用時間返回指定日期中的月份 |
19 | getUTCSeconds()根據通用時間返回指定日期的秒數 |
20 | setDate()根據當地時間設置指定日期的月份的日期 |
21 | setFullYear()根據當地時間設置指定日期的全年 |
22 | setHours()根據當地時間設置指定日期的小時數 |
23 | setMilliseconds()根據當地時間設置指定日期的毫秒數 |
24 | setMinutes()根據當地時間設置指定日期的分鍾數 |
25 | setMonth()根據當地時間設置指定日期的月份 |
26 | setSeconds()根據當地時間設置指定日期的秒數 |
27 | setTime()將Date對象設置為自1970年1月1日,UTC時間00:00:00以毫秒為單位表示的時間 |
28 | setUTCDate()將Date對象設置為自1970年1月1日,UTC時間00:00:00以毫秒為單位表示的時間 |
29 | setUTCFullYear()根據通用時間設置指定日期的全年 |
30 | setUTCHours()根據通用時間設置指定日期的小時數 |
31 | setUTCMilliseconds()根據通用時間設置指定日期的毫秒數 |
32 | setUTCMinutes()根據通用時間設置指定日期的分鍾數 |
33 | setUTCMonth()根據通用時間設置指定日期的月份 |
34 | setUTCSeconds()根據通用時間設置指定日期的秒數 |
35 | todatestring()返回Date的“date”部分作為可讀的字符串 |
36 | toLocaleDateString()使用當前語言環境的約定,將日期的“日期”部分作為字符串返回 |
37 | toLocaleString()使用當前語言環境的約定將日期轉換為字符串 |
38 | toLocaleTimeString()使用當前語言環境的約定,將日期的“時間”部分作為字符串返回 |
39 | toString()返回表示指定Date對象的字符串 |
40 | toTimeString()返回Date的“時間”部分作為可讀的字符串 |
41 | toUTCString()使用通用時間約定將日期轉換為字符串 |
42 | valueOf() |