选择要为函数传递的参数。使用Javascript

时间:2013-10-27 09:47:27

标签: javascript

在其他语言中,当调用函数时,您可以选择要传递的参数。

所以例如

int cookMeth(x=0,y=0,z=0){...}

cookMeth(z=123);

我的问题是,js有可能吗?它似乎不是,但这样做的替代方法或技术是什么?

3 个答案:

答案 0 :(得分:6)

不,不是。

所有参数都是可选的,但您不能跳过参数。

你可以:

明确传递要忽略的值

exampleFunction(undefined, undefined, 123);

传递对象

function exampleFunction(args) {
    var x = args.x, y = args.y, z = args.z;
}

exampleFunction({ z: 123 });

答案 1 :(得分:1)

您可以通过以下方式使用对象:

Method({ param : 1, otherParam : "data"});

function Method(options){
    var variable = options.param;
}

答案 2 :(得分:1)

Quentin已经回答了你的问题,我只想补充一下,有时你可以依赖参数类型,并以这种方式区分它们,但还有更多的工作要做:

function some(){

    var name,
        birth;

    if (typeof arguments[0] === 'string') {
        name = arguments[0];
        birth = arguments[1] || new Date();
    } else{
        name = 'Anonym';
        birth = arguments[0];
    }

    // ...
}


some('foo', new Date(1500, 1, 1));
some(new Date(1500, 1, 1));