javascript函数中的参数大小会影响其性能吗?

iga*_*rav 0 javascript arguments function subset

我有一个包含五个键的键值对,其值为每个千位对象的巨大数组.我可以在将它传递给函数时将其子集化,或者我可以在函数中传递整个数组.

例如:

keyVal ={"first_array": Object[1000],
"second_array": Object[1000],
"third_array": Object[1000],
"fourth_array": Object[1000]
}
var first_arr = keyVal.first_array
Run Code Online (Sandbox Code Playgroud)

两种可能性:

function notSubsettedArgs(keyVal){
$.each(keyVal.first_array,function(i,item){
//some processing});
}

function subsettedArgs(first_array){
$.each(first_array,function(i,item){
//do some processing});
}
Run Code Online (Sandbox Code Playgroud)

它在javascript中有所不同吗?
函数是否承担参数大小的负载?
谢谢

Tro*_*ott 6

JavaScript通过将引用的副本传递给数组/对象来将数组和对象传递给函数,因此传递整个事物可能会很好.只要知道如果你在函数中改变它,那些更改将影响你的原始数组/对象!

如果这是浏览器代码而不是服务器(例如,Node.js)代码,则可以使用jsperf.com进行测试.小心点 JS基准测试错误很容易!