javascript 不定参数
PHPz
PHPz 2017-04-10 14:52:17
0
4
611

我知道通过arguments对象可以实现这样的功能,但是除了这个方法还有别的方法吗?,因为我发现书上并不推荐使用arguments对象,在严格模式下也做了一下限制,而且 ECMAscript 6 就不再存在arguments对象了(來源請求).

《javascript 高级程序设计第 3 版》 703 页

A.2.1 剩余参数与分布参数

Harmony 中不再有 arguments 对象,因此也就无法通过它来读取到未声明的参数

附:

版本:2012 年 (其中對 ES6 的描述可能已過時)

PHPz
PHPz

学习是最好的投资!

reply all(4)
小葫芦

严格模式只是限制不能用arguments.callee arguments.caller,不能用arguments作为变量名,并没有限制arguments作为不定参数的应用,在ES6普及之前,没有arguments的替代品

洪涛

印象中并没有,可以将所有参数放到一个对象里面传这个对象进函数达到类似的效果,比如:

function fn(obj) {
    switch(obj.length){
        case 3:
            return obj.length;
            break;
        default:
            return false;
        break;
    }
}

fn({
    first: 1,
    second: 2,
    third: 3
});

当然到了 ES6 就支持你说的不定参数啦,参考资料:http://es6.ruanyifeng.com/#docs/function

迷茫

我一般这样写

function log(o){
   console.log(o.xx)
}

log({
   o.xx
})
伊谢尔伦

es6就更方便啦

function foo(...args) {
    console.log(args);
}
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!