MST

星途 面试题库

面试题:JavaScript 函数调用优化之参数传递

在JavaScript中,假设你有一个函数`function processData(data) { // 对data进行复杂处理 }`,现在要调用这个函数1000次,每次传递不同的数据数组。请说明如何优化参数传递以提升函数调用性能,并给出优化后的代码示例。
40.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

优化思路

  1. 减少数据复制:如果传递的数组较大,避免每次都创建新的数组副本,可以考虑传递数组的引用。
  2. 批量处理:如果可能,将多次调用合并为较少次数的调用,减少函数调用开销。

优化后的代码示例

function processData(data) { 
    // 对data进行复杂处理
    console.log('Processing data:', data);
}

// 假设我们有1000组不同的数据数组
const allDataArrays = Array.from({ length: 1000 }, (_, i) => [i]);

// 批量处理方式,这里简单将所有数组合并成一个大数组传递
const combinedData = [].concat(...allDataArrays);
processData(combinedData);

// 如果必须分开处理,传递数组引用方式
for (const data of allDataArrays) {
    processData(data);
}