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中有所不同吗?
函数是否承担参数大小的负载?
谢谢
JavaScript通过将引用的副本传递给数组/对象来将数组和对象传递给函数,因此传递整个事物可能会很好.只要知道如果你在函数中改变它,那些更改将影响你的原始数组/对象!
如果这是浏览器代码而不是服务器(例如,Node.js)代码,则可以使用jsperf.com进行测试.小心点 JS基准测试错误很容易!