文章目錄
- 1.ES6變量定義
- 2.ES6堆和棧
- 3.字符串的擴展
- 3.1 模板字符串
- 3.2 判斷是否以指定的字符串開頭或結尾
- 3.3 字符串重復輸出
- 3.4 填充方法
- 3.5 去除前后字符串空格
- 3.6 返回參數指定位置的字符
- 4. 數值型的擴展
- 4.1 二進制0B 八進制0O
- 4.2 判斷是否是一個無窮大的數字 (判斷是否為數值型)
- 4.3 判斷是否為一個 NaN(not a number)
- 4.4 轉換成數值型和浮點型
- 4.5 判斷是否是整數
- 4.6 js中最大能處理的數字范圍和最小能處理的范圍及判斷數值是否在安全范圍內
1.ES6變量定義
新的變量定義關鍵字
變量提升
當前變量的定義部分會提升到當前作用域的最頂端
注意是定義部分,不是賦值
函數提升,會將當前函數定義部分提升到但錢作用域的最頂端
let 與const
let是變量,不能重定義,沒有變量提升
let會生成塊級作用域,如果在{}內使用let定義變量就會在當前作用域
{var a=10;}console.log(a); //不會報錯{let a=10;}console.log(a); //會報錯
2.ES6堆和棧
棧內存,相當于鍵值對,存儲容量比較小
堆內容,存儲容量比較大,像數組和對象
3.字符串的擴展
3.1 模板字符串
引入模板字符串前,用js插入標簽,不能換行,擔心單引號,雙引號
oBox.innerHTML = "<ul><li class='list-item'>"+ num +"</li><li>b</li><li>c</li></ul>";
引入模板字符串后
//模版字符串 內部不區分單引號雙引號 支持換行 使用變量${}oBox.innerHTML = `<ul class="ul-style" ><li class='li-style'>${num}</li></ul>`
變量用${} ,最外邊用``把代碼擴上
3.2 判斷是否以指定的字符串開頭或結尾
var str = "hello world";var str2 = "ab"
// console.log(str.includes("w"));
// 判斷當前字符串是否以制定的字母開頭
// console.log(str.startsWith("he"));// 判斷當前字符串是否以制定的字母結尾
// console.log(str.endsWith("rld"));
3.3 字符串重復輸出
字符串.repeat()
console.log(str2.repeat(3));
3.4 填充方法
字符串.padStart(,)
字符串.padEndt(,)
// 填充方法,向前填充 接收兩個參數第一個代表填充長度(包含原有字符串長度),第二個參數以制定的字符進行填充console.log(str2.padStart(10,"xy"));
// 填充方法,向后填充 接收兩個參數第一個代表填充長度(包含原有字符串長度),第二個參數以制定的字符進行填充console.log(str2.padEnd(10,"xy"));
3.5 去除前后字符串空格
var str = "abc"去除字符串空格console.log(str.trim()); //去除前后字符串空格console.log(str.trimEnd()); //去除后面字符串空格console.log(str.trimStart()); //去除前面字符串空格
3.6 返回參數指定位置的字符
var n = str.charAt(1);
console.log(n);
4. 數值型的擴展
4.1 二進制0B 八進制0O
// 二進制 表示形式
let num1 = 0B101;
// 八進制
let num2 = 0O70;
// 十六進制
let num3 = 0Xfff;
4.2 判斷是否是一個無窮大的數字 (判斷是否為數值型)
// 判斷是否是一個無窮大的數字 (判斷是否為數值型)
console.log(Number.isFinite(str));
console.log(Number.isFinite(10/0));
4.3 判斷是否為一個 NaN(not a number)
// 判斷是否為一個 NaN(not a number)
console.log(Number.isNaN(3*"a"));
console.log(Number.isNaN(num));
4.4 轉換成數值型和浮點型
windows對象下雖然有parseInt方法,但是所有的方法都讓windows對象處理,是不科學的
// 轉換成整型
console.log(Number.parseInt(str1));
// 轉換成浮點型 帶有小數的
console.log(Number.parseFloat(str1));
4.5 判斷是否是整數
// 判斷是否為整數
console.log(Number.isInteger(num));
console.log(Number.isInteger(num2));
4.6 js中最大能處理的數字范圍和最小能處理的范圍及判斷數值是否在安全范圍內
//js當中最大能處理的數字范圍
console.log(Number.MAX_SAFE_INTEGER);//Math.pow(2,53)-1
// js當中最小能處理的數字范圍
console.log(Number.MIN_SAFE_INTEGER);//Math.pow(2,53)+1
// 判斷數值是否在安全范圍內
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER+1));