Jquery 使对象的键作为参数作为局部函数变量传递
我有一个可以传递对象的函数。然后我需要这个对象中的所有变量成为局部变量。比如说Jquery 使对象的键作为参数作为局部函数变量传递,jquery,function,scope,arguments,Jquery,Function,Scope,Arguments,我有一个可以传递对象的函数。然后我需要这个对象中的所有变量成为局部变量。比如说 function ping(){ alert(riff); //'raff' } ping({ riff: 'raff' }); 我能想到的唯一方法是循环对象并逐个设置它们,但这似乎很笨拙。还有别的选择吗 编辑:返回的是显示该变量的样子。我不希望的主要事情是必须通过另一个对象来获取数据。我希望结构是 function.riff = 'raff' 而不是 function.settings.
function ping(){
alert(riff); //'raff'
}
ping({
riff: 'raff'
});
我能想到的唯一方法是循环对象并逐个设置它们,但这似乎很笨拙。还有别的选择吗
编辑:返回的是显示该变量的样子。我不希望的主要事情是必须通过另一个对象来获取数据。我希望结构是
function.riff = 'raff'
而不是
function.settings.riff = 'raff'
使用
$。扩展:
JsBin示例:只需执行
function ping(obj){
return obj.riff;
}
或
这是目前我能想到的最好的答案。。。这方面有什么进展吗
注意变量是如何直接添加到函数中而不是通过函数中的对象添加的
这是因为我希望能够在使用私有函数变量之前使用此对象覆盖它们。这是原则,并且被认为是一种良好的做法。所以,使用它,它并不笨重(在JS中)。啊…所有变量,那么Fabrizios的答案更好:)我不想将变量存储在另一个对象中。我正在更改一个现成的函数,所有这些函数都直接从该函数分支。
function ping(obj){
return obj.riff;
}
function ping(obj){
var riff = obj.riff;
return riff;
}
function ping(){
for(var key in arguments[0]){
this[key] = arguments[0][key];
}
}