javascript中作为参数传递对象的性能
理论上的问题,例如,我有一个叫Order的大对象,它有很多道具:字符串、数字、数组、嵌套对象 我有一个功能:javascript中作为参数传递对象的性能,javascript,performance,function,object,garbage-collection,Javascript,Performance,Function,Object,Garbage Collection,理论上的问题,例如,我有一个叫Order的大对象,它有很多道具:字符串、数字、数组、嵌套对象 我有一个功能: function removeShipment(order) { order.shipment.forEach( // remove shipment action ); } 这意味着我只访问一个道具装运,但发送一个大对象 从垃圾收集和性能的角度来看,passorder和passorder.shipping之间有区别吗 因为对象是通过引用传递的,实际上并
function removeShipment(order) {
order.shipment.forEach(
// remove shipment action
);
}
这意味着我只访问一个道具装运,但发送一个大对象
从垃圾收集和性能的角度来看,passorder和passorder.shipping之间有区别吗
因为对象是通过引用传递的,实际上并没有将顺序复制到变量中。在这里创建了一个简单的测试 测试结果: 在Chrome中,传递对象比传递原始值慢约7% 在Firefox中,传递对象比传递原始值慢约15% 在IE11中,传递对象比传递原始值慢约10%
这是只传递一个变量的句法测试,因此在其他情况下,结果可能会不同在这里创建了一个简单的测试 测试结果: 在Chrome中,传递对象比传递原始值慢约7% 在Firefox中,传递对象比传递原始值慢约15% 在IE11中,传递对象比传递原始值慢约10%
这是只传递一个变量的语法测试,因此在其他情况下,结果可能不同对象通过引用而不是值传递!将对象传递给函数就像传递数字一样快!你唯一能做的优化就是代码清晰!对象是通过引用而不是通过值传递的!将对象传递给函数就像传递数字一样快!你唯一能做的优化就是代码清晰!这个测试已经不存在了。我创建了一个,尝试:,我得到了一个可以忽略不计的~1%的差异。这个测试已经不存在了。我创造了一个,尝试:,我得到了一个微不足道的~1%的差异。