用途
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>