Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使对象的键作为参数作为局部函数变量传递_Jquery_Function_Scope_Arguments - Fatal编程技术网

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];
    }
}