在ES5中,可变参数依靠arguments,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ES5和ES6可变参数</title>
<script type="text/javascript">
{
// ES5中可变参数
function f(){
var arg = Array.prototype.slice.call(arguments);
var sum = 0;
arg.forEach(function(item){
sum +=item;
})
return sum;
}
console.log('f(1,2,3,4)=',f(1,2,3,4));
}
</script>
</head>
<body>
</body>
</html>
在ES6中,可变参数可以如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ES5和ES6可变参数</title>
<script type="text/javascript">
{
// ES6中可变参数
function f(...a){
var sum = 0;
a.forEach(item =>{
sum +=item;
})
return sum;
}
console.log('f(1,2,3,4)=',f(1,2,3,4));
}
</script>
</head>
<body>
</body>
</html>
涉及到数组合并,也可以使用…操作在ES6中,在之前的ES5中需要使用concat进行合并
<script type="text/javascript">
{
// ES5
// var params = ['huang',true,45];
// var other = [1,2,3].concat(params);
// console.log(other)
// ES6
var params = ['huang',true,45];
var other = [1,2,3,...params]
console.log(other)
}
</script>
专业墙纸贴纸厨房用具装饰出售,本人网店经营,访问即是爱
博客对你有用记得访问下哦,增加下访问量,如有需要可以下单购买哦^_^。店铺地址https://item.taobao.com/item.htm?id=570637716145