一.let和const
let用於定義變數,const用於定義常量,都是塊級作用域。
二.陣列的解構賦值(解構陣列)
例:`var a=1,b=2,c=3;
= var [a,b,c]=[1,2,3]`
… 省略號的使用
var [a,...c]=[1,2,3];
console.log("a",a);
console.log("c",c);
a:1c:[2,3]
物件的結構賦值
var obj=;
let [a,b]=obj;
注意賦值時的key值必須一致,否則顯示undifned;
應用簡例:let res={status=200;id=13;data:[name:"jack",name:"bob"] let status,id,data=res;
字串的解構賦值:let [a,b,c]='nan'
新增字串方法
includes() //用於判斷字串中是否存在某個(些)字元
例:console.log('nanmu'.includes('a'))
結果為true
startswith() //用於檢測字串是否以某個(些)字元開頭的
例:console.log('nanmu'.startswith('na'))
結果為true
endswith() //用於判斷字串是否以某個(些)結尾的
repeat() //用於重複字串
例:console.log('nanmu'.repeat(3))
結果為列印』nanmu』三次,即列印三個』nanmu』
js的字串方法:
三個屬性:length(字串的長度),prototype(允許您向物件新增屬性和方法),constructor(對建立的該物件的函式的引用)
常用方法:
(1)charat()–返回字串在下標index位置的字元
stringobject.charat(index); //如果index引數不在0與字串長度之間,則返回乙個空的字串
'nanmucheng'.charat(3) //===>返回'm'
(2)charcodeat()–返回字串在下標index位置的字元的unicode編碼
stringobject.charcodeat(index); //返回unicode編碼
'nanmucheng'.charcodeat(3) //===>返回109(十進位制)
(3)indexof()–返回某個指定的字串值在字串出現的位置
stringobject.indexof(searchvalue,fromindex);//返回searchvalue的索引
searchvalue為需要搜尋的子字串,fromindex為從某個下標開始查詢
'nanmucheng'.indexof('mu ch')//返回3
'nanmucheng'.indexof('n',3)//返回8
(4)match()–在字串中檢索指定的值,或找到乙個或多個正規表示式的匹配,該方法類似 indexof() 和 lastindexof(),但是它返回指定的值,而不是字串的位置。返回存放匹配結果的陣列。該陣列的內容依賴於 regexp 是否具有全域性標誌 g,如果沒有找到任何匹配的文字, match() 將返回 null。
stringobject.match(regexp);//regexp為匹配子字串的正規表示式,規定要匹配的模式的 regexp 物件。如果該引數不是 regexp 物件,則需要首先把它傳遞給 regexp 建構函式,將其轉換為 regexp 物件。
stringobject.match(searchvalue);//規定要檢索的字串值。
let str="hello world,i love world";
str.match('/world/g')//結果為[world,world]
(5)replace()–用於在字串中用一些字元中替換另一些字元,或替換乙個與正規表示式匹配的子串
stringobject.replace(regexp/substr,replacement);
console.log('nanmucheng'.replace('n','m'));//返回結果為manmucheng,只替換開頭的m
console.log('nanmucheng'.replace(/n/g,'m'));// 列印出mammuchemg
//其它例子
在本例中,我們將把 "doe, john" 轉換為 "john doe" 的形式:
name = "doe, john";
name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
(6)search()–用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串。返回子字串的開始索引,不存在則返回-1;
stringobject.search(regexp);
let str="hello world";
str.search('world')//結果為6
//search() 方法不執行全域性匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastindex 屬性,並且總是從字串的開始進行檢索,這意味著它總是返回 stringobject 的第乙個匹配的位置。
(7)slice()方法–slice() 方法可提取字串的某個部分,並以新的字串返回被提取的部分。
stringobject.slice(start,end);//返回值為乙個新的字串。包括字串 stringobject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字元。start:要抽取的片斷的起始下標。如果是負數,則該引數規定的是從字串的尾部開始算起的位置。也就是說,-1 指字串的最後乙個字元,-2 指倒數第二個字元,以此類推。若未指定此引數,則要提取的子串包括 start 到原字串結尾的字串。
let str="hello my wen; console.log(str.slice(6));//結果為"my wen"
let str="hello my wen"; console.log(str.sclice(6,10))//結果為'my w'
(8)split()–split() 方法用於把乙個字串分割成字串陣列。
stringobject.split(separator,howmany);//howmany引數為指定返回的陣列的最大長度。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度。
var str="hello my wen";
console.log(str.split(""))
console.log(str.split(" "))
結果為:(12) ["h", "e", "l", "l", "o", " ", "m", "y", " ", "w", "e", "n"]
(3) ["hello", "my", "wen"]
在本例中,我們將分割結構更為複雜的字串:
"2:3:4:5".split(":") //將返回["2", "3", "4", "5"]
"|a|b|c".split("|") //將返回["", "a", "b", "c"]
(9)tolowercase()//把字串轉換為小寫,touppercase//把字串轉換為大寫; es6學習筆記(一)
最近在看阮一峰的 es6標準入門 打算在每天早起上班前看一小時,然後寫個部落格總結 關於第二章let,const命令的總結 1 暫時性死區 只要進入當前作用域,所要使用的變數就已經存在,但是,不可獲取,只有等到宣告變數的那一行 出現,才可以獲取和使用該變數 2 函式宣告語句和函式表示式的區別 函式宣...
ES6學習筆記
let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...
ES6學習筆記
常用語法 1 let 與var類似,不同的是let定義的變數有塊級作用域,比如 var a 1 while true alert a 2 用let let a 1 while true alert a 12 const用來定義變數,但是定義之後的值不能再次更改了。乙個實際的用途是用來定義引入的模組,...