gpt4 book ai didi

javascript - Object.defineProperty() 和 Object.defineProperties() 之间的性能差异

转载 作者:行者123 更新时间:2023-12-01 01:04:36 26 4
gpt4 key购买 nike

我正在寻找这两种方法之间的主要区别。

一些网站提到了可读性问题,但我的担忧主要是与性能相关。看起来像defineProperty()更快,但我找不到原因。

var FOR_TIME = 10000;


console.time("prop");
for(var i = 0; i < FOR_TIME; i++) {
var test = {};
Object.defineProperty(test, "ba", {});
Object.defineProperty(test, "bab", {});
Object.defineProperty(test, "bac", {});
}
console.timeEnd("prop");

console.time("props");
for(var i = 0; i < FOR_TIME; i++) {
var test = {};
Object.defineProperties(test, {
a: {},
ab: {},
ac: {}
})
}
console.timeEnd("props");

下面是控制台结果:(执行了3次)

1- prop: 9.251ms props: 17.034ms
2- prop: 10.050ms props: 22.443ms
3- prop: 11.013ms props: 17.086ms

使用的节点版本:v10.15.0

最佳答案

您可以将基准解读为:“哦,defineProperty 速度快了两倍多”。

或者您可以将其解读为:“即使 defineProperties 10.000 次迭代也只需要 20 毫秒,这意味着它很少会导致任何问题,除非您在循环中创建数百万个实例运行数千次。”

关于javascript - Object.defineProperty() 和 Object.defineProperties() 之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55762481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com