javascript 的 window 全局变量是否影响性能?

2015-04-18 01:51:31 +08:00
 whatisnew

比如: (一)

var db = openDatabase('db', '1.0', 'description', 1024);

对比:(二)

window.db = openDatabase('db', '1.0', 'description', 1024);

示列(二)这种把 db 用 window 声明成全局变量是否影响性能呢?

3270 次点击
所在节点    JavaScript
8 条回复
secondwtq
2015-04-18 02:00:49 +08:00
Google 到了以下结果:

http://stackoverflow.com/questions/11283463/global-variables-javascript-which-is-faster-varname-or-window-varname

PS:JavaScript 新手,并不太清楚以上内容和本主题是否有关系,因此仅供参考。不过还是建议楼主 Profile 一下。
FrankFang128
2015-04-18 02:10:20 +08:00
这点性能算个蛋,没找到瓶颈之前不要做性能优化。
whatisnew
2015-04-18 02:12:48 +08:00
@FrankFang128
@secondwtq

碉堡了,再也不用担心 global 的问题了,哇哈哈哈哈
NemoAlex
2015-04-18 04:24:09 +08:00
1. 如果你没有在一个闭包的环境下运行上面的代码,两种方式得到的结果其实是一样的。
2. 全局变量的问题不在于性能,而是让作用域变得不可控。无论是在浏览器上还是在后端,未来可能会在同一环境下运行无数的代码,但是全局变量就只有一套,所以省着点,小心一点用。
Phariel
2015-04-18 09:33:17 +08:00
不要试图污染window 除非你是一个框架级的东西
iNaru
2015-04-18 13:11:25 +08:00
全局变量不能被垃圾回收的机制回收。
xavierchow
2015-04-18 16:24:38 +08:00
@NemoAlex 赞同第2点。
whatisnew
2015-04-18 19:00:53 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/184475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX