基本上这是一个如何访问本地范围处理程序的问题.我试图为全局变量定义实现类似的东西,如:
window['newObject'] = "some string";
alert(newObject);
Run Code Online (Sandbox Code Playgroud)
但对于当地范围.现在我只有解决方案是使用evals:
eval("var newObject='some string'");
Run Code Online (Sandbox Code Playgroud)
但这是一个非常丑陋的解决方案......最好的方法就是在window []解决方案中使用一些本地范围的引用,但我从来没有听说过任何对本地范围的引用......有什么想法吗?
示例如下:
function x(arg)
{
localScope[arg.name]=arg.value;
alert(sex);
}
x({name:"sex", value:"Male"});
Run Code Online (Sandbox Code Playgroud) 我有一个函数,在 Javascript 中
function asd(foo, bar, baz) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
这三个参数中的每一个都是必需的。
假设我将这些参数分组为一个对象:
var x = {
foo: 10,
bar: 20,
baz: 30
};
Run Code Online (Sandbox Code Playgroud)
我asd可以通过以x某种方式“解压”对象来调用函数吗?这可以通用吗?即,不知道 的签名asd。
我正在寻找类似 kwargs 在 Python 中解包的东西:
def asd(foo, bar, baz):
# ...
kwargs = {'foo': 10, 'bar': 20, 'baz': 30}
asd(**kwargs)
Run Code Online (Sandbox Code Playgroud)
“不,不可能”的回答是可以接受的。我只想知道这在 Javascript 中是否可行。