调用函数时如何按名称设置变量?

How do I set variables by name when calling a function?

说我有这个代码:

function helloWorld() {
    console.log(helloText);
}

当我调用这个函数时,我想做这样的事情:

helloWord(
    helloText = "some example text";
)

这当然行不通。但我的想法是,我想在调用该函数时通过引用它的名称来更改变量。我看到很多 jQuery 幻灯片和类似的东西,但我似乎无法弄明白。我能找到的最接近的是:

function helloWorld(helloText) {
    console.log(helloText);
}

helloWorld("some example text");

哪个可行,但如果变量列表较长,就会变得笨拙。那么我怎样才能使用它的名称来更改变量值呢?

Javascript 中没有关键字参数。为了模仿这种行为,您可以使用对象字面量,如下所示:

function helloWorld(args) {
    console.log(args.helloText);
}

helloWord({
    helloText: "some example text"
});

基于其他答案,ECMAScript 6 introduces destructuring and default parameters。这使您可以轻松模拟关键字参数:

function helloWorld({helloText} = {}) {
    console.log(helloText);
}

helloWord({
    helloText: "some example text"
});

您现在可以通过预处理器使用 ES6 功能,例如 6to5