gpt4 book ai didi

javascript - 为什么 jsperf 根据 HTML 和设置中的准备代码给出不同的结果?

转载 作者:行者123 更新时间:2023-11-28 03:22:38 25 4
gpt4 key购买 nike

我试图查看在 javascript 中将字符串转换为数字的哪些方法性能更高,所以我去 jsperf 看看哪种方法最有效。但是,根据初始变量是在 Benchmark.prototype.setup() 函数中还是直接在全局范围内定义,我似乎得到了不同的结果。

In the global scope

In Benchmark.prototype.setup

关于为什么会发生这种情况有什么想法吗?

最佳答案

发生这种情况是因为范围查找会带来很小的性能损失。

例如:

var foo = 42; // outer scope
(function() { // inner scope
doSomething(foo); // needs to look up `foo` and fetch it from the outer scope
}());

即使您忽略 IIFE 的开销在那里,这仍然肯定比:

var foo = 42;
doSomething(foo); // no scope lookups needed

关于javascript - 为什么 jsperf 根据 HTML 和设置中的准备代码给出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505776/

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