一般问题:
当将大对象作为参数传递时,是否会影响性能,与传递本地变量相比如何?
案例:
我编写了一个管理Google Maps的组件。
在组件的每个方法中,都需要传递Google Maps对象,因为我不想将该地图设置为组件的属性。
一般问题:
当将大对象作为参数传递时,是否会影响性能,与传递本地变量相比如何?
案例:
我编写了一个管理Google Maps的组件。
在组件的每个方法中,都需要传递Google Maps对象,因为我不想将该地图设置为组件的属性。
当您将一个对象作为参数传递给函数时,唯一复制的是该对象的处理程序(即存储该对象的内存地址)。对象本身不会被克隆,因此当您将大型对象作为参数传递时,没有额外开销。
如果您传递一个字符串,它会被克隆,因此在这种情况下字符串的长度是一个问题。
对象的大小不会影响性能,因为在JavaScript中,对象是按引用传递的。
虽然在将对象发送到方法时会调用其位置,导致性能略有下降,但编写新组件或查找对象中的错误的便利性远远超过了约1毫秒的成本。