ES6笔记(二)
一、字符串的擴展
1. 用于從碼點返回到對應字符。
String.fromCodePoint(xx)
2. for...of可以遍歷字符串
3. includes():返回布爾值,表示是否找到了參數字符串。
? ? startsWith():返回布爾值,表示參數字符串是否在原字符串的頭部。
? ? endsWith():返回布爾值,表示參數字符串是否在原字符串的尾部。
?(第一個參數:要搜索的目標字符,第二個參數:開始搜索的位置)
?(endsWith的行為與其他兩個方法有所不同。它針對前n個字符,而其他兩個方法針對從第n個位置直到字符串結束。)
4. repeat( n) n:字符串重復的次數,0--1取0,小于0報錯,大于1四舍五入
5. padStart()用于頭部補全,padEnd()用于尾部補全。
? ? padStart()和padEnd()一共接受兩個參數,第一個參數是字符串補全生效的最大長度,第二個參數是用來補全的字符串。
?(如果原字符串的長度,等于或大于最大長度,則字符串補全不生效,返回原字符串。)
?(如果用來補全的字符串與原字符串,兩者的長度之和超過了最大長度,則會截去超出位數的補全字符串。)
?(如果省略第二個參數,默認使用空格補全長度。)
? ?另一個用途是提示字符串格式。例子:
?('12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
? ?'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12")
二、正則的擴展
1.? ? 字符串對象有4個方法:match()、replace()、search()和split()。
2.? ?修飾符增加:i/g/S/y/u
三、數值的擴展
1.? Number.isFinite()用來檢查一個數值是否為有限的(finite)
? (注意:如果參數類型不是數值,Number.isFinite一律返回false。)
? ? Number.isNaN()用來檢查一個值是否為NaN。
? (注意:如果參數類型不是NaN,Number.isNaN一律返回false。)
2. ES6 將全局方法parseInt()和parseFloat(),移植到Number對象上面。
3. Number.isInteger() 判斷是否是整數。(25 和 25.0 被視為同一個值。)
4. Math.trunc() 去除一個數的小數部分
? ? Math.sign() 判斷一個數到底是正數、負數、還是零,對于非數值,會先將其轉換為數值。
? ? (參數:正數--->+1;負數--->-1;0--->0;-0--->-0;其他值,返回NaN)?
? ? Math.cbrt方法用于計算一個數的立方根。
? ? Math.clz32()方法將參數轉為 32 位無符號整數的形式,然后這個 32 位值里面有多少個前導 0。
? ? Math.fround方法返回一個數的32位單精度浮點數形式。
? ? Math.hypot方法返回所有參數的平方和的平方根。
5. 指數運算符(**)
? ?(例子:a **= 3; // 等同于 a = a * a* a;)
四、函數的擴展
1. rest 參數搭配的變量是一個數組,該變量將多余的參數放入數組中。
? 注意,rest 參數之后不能再有其他參數(即只能是最后一個參數),否則會報錯。
(例子:
? ? const headAndTail = (head, ...tail) => [head, tail];
? ? headAndTail(1, 2, 3, 4, 5)
? ?// [1,[2,3,4,5]])
2. 注意:箭頭函數有幾個使用注意點。
(1)函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。
(this對象的指向是可變的,但是在箭頭函數中,它是固定的。)
(2)不可以當作構造函數,也就是說,不可以使用new命令,否則會拋出一個錯誤。
(3)不可以使用arguments對象,該對象在函數體內不存在。如果要用,可以用 rest 參數代替。
(4)不可以使用yield命令,因此箭頭函數不能用作 Generator 函數。
3. setInterval和setTImeout中的this指向window,使用3種方法可以改變this指向,指向obj
? (1).var that = this;//將this存為一個變量that,此時的this指向obj
? (2).setTImeout(function(){.........this.num1}.bind(this),1000);//這里的this 指向obj
? (3).箭頭函數;setTImeout(()=>{.......this.num1},1000); //箭頭函數的this指向外層調用者,obj
箭頭函數的this:
this指向的固定化,并不是因為箭頭函數內部有綁定this的機制,實際原因是箭頭函數根本沒有自己的this,
導致內部的this就是外層代碼塊的this。正是因為它沒有this,所以也就不能用作構造函數。
?
轉載于:https://www.cnblogs.com/wnn07/p/10303904.html
總結
- 上一篇: 六、Scrapy中Download Mi
- 下一篇: 牛客网 PAT 算法历年真题 1003