當條件爲 true 時才執行 if 裏面的代碼es6
例:
• let age = 19;
if(age > 18){
console.log("你成年了");
• }面試
例:
• let age = 17;
if(age > 18){ //若是age大於18
console.log("你成年了");
• }else{ //不然
console.log("你仍是個小孩");
}數組
if (條件1) { //若是爲true執行 爲false執行條件2
• } else if (條件2) { //若是爲true執行 爲false執行條件n
} else if (條件 n) { //若是爲true執行 爲false執行條件else
}else { //全部條件都不知足執行
• }數據結構
全局做用域:聲明變量爲全局且不包含在任何語句裏函數
局部做用域:聲明變量在語句裏就是局部做用域 語句嵌套子級可使用父級的局部聲明變量測試
注:code
有局部變量就用局部變量,若沒有就向父級和全局尋找、直到找到爲止,不然報錯。對象
變量名能夠在不一樣的做用域使用排序
等價於多分支。代碼清晰、執行效率高於 if else if...索引
switch () {
case A:
break;
case B:
break;
...
default: //默認
break; //跳出
}
case 匹配進行的全等匹配
同一個代碼塊,須要執行屢次,考慮用循環
測試前語句
for( 初始化; 測試;遞增遞減 ) {
循環體
}
for( 表達式1;表達式2;表達式3 ) {
表達式4
}
執行步驟:1-2-4-3 2-4-3 2-4-3 2-4-3......
例:
for(i=0;i<=10;i++){
console log("i") 1 2 3 4 5 6 7 8 9 10
}
while(條件){ 代碼塊 }
功能:條件爲真則執行括號裏面的代碼,直到條件爲假結束
注:條件能夠變化的、防止死循環
let i = 0
• while ( i < 3 ){
• 循環體;
• i + +;
• }
• 例:let number = 1;
• while(number<5){
• number++;
• }
• console.log(number) //5
後測試語句
do{代碼}whlie
(條件)
注:至少執行一次代碼塊,條件爲真執行第二次、直到爲假結束循環
do {
循環體;
} while (測試語句);
例:let number = 1;
do {
number++;
} while (false);
console.log(number) //2
基本:number null undefined string boolean
symbol
複雜:object
數據結構:計算機存儲、組織數據的一種方式。
數組:把數據有序的集合在一塊兒。數組中每個值叫作 item 元素,每一個元素在數組中都有惟一的位置,位置用數字表示叫作下標 || 索引 index
建立數組
let arr = []
let arr = new Array()
typeof arr // object
數組賦值:
1.arr[index] = value arr[0] = "zhangsan";
arr[item1, item2, ...]
數組的長度: arr.length
查看(訪問)數組元素:
arr[index]
數組中的每一個值、都會有對應的一個下標(索引)、能夠經過它獲取對應數組 的值、下標起始值爲0。
構造函數聲明:let F70 = new Array();
字面量與構造函數的區別:
字面量的解析比構造函數快
緣由:
字面量屬於JSON格式、能夠直接被JS解析
構造函數須要先調用構造函數、在進行JS解析
解構 es6:
將複雜數據類型的值拆解成簡單數據類型。保持 = 左右兩邊數據結構相同。
例:
let arr = [1,2,3]
let [a,b,c] = arr
console.log(a,b,c) //1,2,3
let arr = [1,2,3]
let [a, ,c] = arr
console.log(a,b,c) //1,3
不須要的值,直接跳過
遍歷數組:
例: let arr = [1, 2, 3, 4, 5] for (let i = 0; i < arr.length; i++) { console.log(arr[i]);//1,2,3,4,5 }
例: let arr=[1,2,3,4,5] for(let item of arr){ console.log(item);//1,2,3,4,5 }
例:let arr=[1,2,3,4,5] for(let index in arr){ console.log(index);//0,1,2,3,4, }
例如:let arr=[1,2,3,4,5] arr.forEach(function(item,index)){ console.log(`第${imdex}位的${item}`) }
常量擴展:
若是賦值給常量的是基本數據類型、則常量存儲該基本數據類型變量具體的值。
若是賦值給常量的是引用數據類型、則常量存儲該引用數據類型變量的地址。
注:引用數據類型存儲的值發生變化、常量存儲該引用數據類型變量的地址裏面的值不會變化。
多維數組:
let arr = [ [] ]
數組的操做方法:
例:let arr = [1,2,3]
arr.push(1)//1,2,3,
slice( startindex )從startindex開始所有截取
從第幾個下標開始 刪除幾個 修改(替換 刪除後才能替換和修改不然在第一個參數下標前新增)
例如:
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 2, 9, 1) //從下標2開始 刪除兩個包括自身 並替換刪除的第一個爲9 第二個爲1
console.log(arr1); // 返回被刪除的數 3 4
console.log(arr); //1 2 9 1 5
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0, 9, 1) //從下標2開始 沒有刪除 在下標2以前插入(新增) 9 1
console.log(arr1); // 返回被刪除的數 [ ]
console.log(arr); //1 2 9 1 3 4 5
arr.reverse( )翻轉數組先後順序
arr.sort( )排序
例: arr.sort( (a,b)=>a-b)升序
arr.sort( (a,b)=>b-a)降序
arr.concat( )
例:
let arr2 = [1,2,3]
let arr1 = [4,5,6]
let arr3= arr.concat(arr2,arr1) //[1,2,3,4,5,6]
arr.indexof( )查找下標 arr.lastindexof( )從後往前
例:let arr = [1,2,3,4,5,6]
console.log(arr.indexof('1')) //[0]
若是下標不存在打印-1
let arr = [1,2,NaN,4,5,6]
console.log(arr.indexof(NaN)) // -1
console.log(arr.lastindexof(NaN)) // -1
console.log(arr.includes(NaN)) //true
str.split("分隔符")而且不包含 字符串轉數組該分隔符
例:let str = "t a n g k e c h a o"
let strs = str.split("a")
consloe.log(strs) // ["t" ngkech "o"]
當str.split("-")時
consloe.log(strs) //[ 't' ,'a', 'n', 'g', 'k' ,'e' ,'c', 'a' ,'o']
當str.split("")時
consloe.log(strs) //[ 't a n g k e c a o']
例:
let str = "123";
let arr = [];
arr = [...str];
console.log(arr) //[1,2,3]
arr.join( 分隔符 ) 數組轉字符串
例:let arr = [1,2,3,1]
let arrs = arr.join("-")
console.log(arrs)//1-2-3-1
let arr = [1,2,3,1]
let arrs = arr.join(",")
console.log(arrs)//1,2,3,1
let arr = [1,2,3,1]
let arrs = arr.join(" ")
console.log(arrs)//1 2 3 1
查找arr.includes(value) 返回boolean值
例:let arr= [1,2,3,4]
console.log(arr.includes("1")) //true
console.log(arr.includes("5")) //false
arr.map( function( ) ){......}
遍歷同時操做,返回新數組,老數組不變
例:let arr = [1,2,3]
let arrs=arr.map(function ( item ) ){
return item*2
}
console.log(arr) //[1,2,3]
console.log(arrs) //[2,4,6]
過濾 arr.filter( function ( ) ){.....}
返回條件爲true的item
例:let arr = [1,2,3,4]
let arrs = arr.filter(function (item) ){
return item%2=0; //返回值
}
console.log(arr) //[1,2,3,4 ]
console.log(arrs) //[2,4 ] //調用
不會留下undefined
let arr = [0,1,2] //[0,1,2,undefined,undefined,5]
arr[5] = 5 //新增下標:[undefined] [undefined] [5]
let arrs = arr.filter(function ( item) ){
return item = = undefined; //當item 也就是下標 = = undefined
});
console.log(arrs) //[ ] [ ]
arr.some( ) arr.every( ) 返回boolean值
let arr = [1,2]
let arrs = arr.every(function( item ){
return item%2 ==0;
})
console.log(arrs) //false
若是把every換成some //true
let arr = [ 1,2,3]
let arr1 = [ 3,2,1]
let arr2 = [ ...arr...arr1]
console.log(arr2) //[1,2,3,3,2,1]
ES6 新增數據結構 Set 集合
一,去重
s.add(value) 不會包含重複的值,不作數據類型轉換
二,Map 映射 1. `區別 arr.map()` 2. let m = new Map() 與對象類似,鍵能夠是任意數據類型 let s = new Set(arr); s.add(4); s.add(4); s.add(4); s.add("4"); 三,鏈式調用 s.add(4).add(4).add(4).add("4"); arr = [...s]; console.log(arr); console.log(s); let tempArr = []; for (let item of s) { ``` tempArr.push(item); ``` } console.log(tempArr
若有異議請聯繫我