ES5和ES6可变参数

在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

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/81771688