ES6:三點運算子
阿新 • • 發佈:2018-12-20
用途 1. rest(可變)引數 * 用來取代arguments,但比arguments靈活,只能是最後部分形參引數 function fun(...values){ console.log(arguments) arguments.forEach(function(item,index){ console.log(item,index) }) console.log(values) values.forEach(function(item,index){ console.log(item,index) }) } fun(1,2,3) 2. 擴充套件運算子 let arr1 = [1,3,5] let arr2 = [2,...arr1,6] arr2.push(...arr1)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>3點運算子</title> </head> <body> <!-- 用途 1. rest(可變)引數 * 用來取代arguments,但比arguments靈活,只能是最後部分形參引數 function fun(...values){ console.log(arguments) arguments.forEach(function(item,index){ console.log(item,index) }) console.log(values) values.forEach(function(item,index){ console.log(item,index) }) } fun(1,2,3) 2. 擴充套件運算子 let arr1 = [1,3,5] let arr2 = [2,...arr1,6] arr2.push(...arr1) --> </body> <script type="text/javascript"> // function foo(){ // //console.log(arguments)// 偽陣列 所以forEach()報錯 // // arguments.callee() 指向函式本身 // //arguments.forEach(function(item , index){ // // console.log(item,index);// 報錯 // //}) // } // foo(1,2) // function foo(...value){ console.log(value)// 陣列 value.forEach(function(item,index){ console.log(item,index) }) } foo(1,2) // 只能是最後部分的形參 function foo1(a,...value){ console.log(value)// 2,3,4,5 因為前邊有一個佔位符 相當於帶走一個形參 // 使用三點運算子的時候必須放在最後 } foo1(1,2,3,4,5) let arr1 = [1,6]; let arr2 = [2,3,4,5]; // 要求: 兩個數組合併為[1,2,3,4,5,6] arr1 = [1,...arr2,6] console.log(arr1)// [1,2,3,4,5,6] console.log(...arr1)// 1,2,3,4,5,6 相當於把arr1的每一項都拿出來 </script> </html>