ES6:三点运算符

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

猜你喜欢

转载自blog.csdn.net/Hanhanyoona/article/details/83960974