4
A
回答
7
它抓取Object.prototype.toString
方法的本地副本,这将允许它在脚本中进行小幅度的改进。这也允许它测试toString
方法的存在。
问候评论:
每个名称解析是有成本的,在查找时(当地人,全局,原型链)和创造(关闭范围的变量),所以成像下面的代码:
var values = // Create some object here.
for (var i = 0; i < count; i++) {
console.log(values[i].toString());
}
对于外观的每一次迭代,我们必须解决values
变量,然后通过原型链来确定成员toString
,然后执行该操作。
考虑的是上面的例子,我们可以做到以下几点:
var toString = {}.toString,
values = // Create some object here.
for (var i = 0; i < count; i++) {
console.log(toString.call(values[i]));
}
甚至更远:
var toString = {}.toString,
log = console.log,
values = // Create some object here.
for (var i = 0; i < count; i++) {
log.call(console, toString.call(values[i]));
}
轻应用不会真的从中受益太多,但更大的框架,例如因为jQuery等可以显着提高脚本性能。 IE我相信是一个这样的浏览器,这些小的改进可以帮助很多。
1
它检查是否与给定的环境下有默认的对象上定义一个toString属性。它不会在新的Object()上执行,因为Object本身可能不会在环境中定义。
相关问题
- 1. 建筑Modernizr的
- 2. Modernizr的帮助?
- 3. “Modernizr的”没有定义/“Modernizr的”使用它被定义
- 4. 。的ToString()
- 5. 的toString
- 6. Modernizr的/ Yepnope返回的GreaseMonkey
- 7. (1)的ToString()和1.toString()内的Javascript
- 8. Modernizr和jQuery的Chrome问题
- 9. Yepnope&Modernizr screen.width的条件
- 10. 寻找Modernizr的引用
- 11. Modernizr的getusermedia不确定
- 12. Modernizr的负载如何
- 13. Modernizr的负荷和cssanimations
- 14. Modernizr函数的范围
- 15. Modernizr的测试draganddrop在IE8
- 16. Clojure中-toString与.toString之间的区别
- 17. ToString(“N2”)和ToString(“0.00”)之间的区别
- 18. 的Object.create()和toString()
- 19. Yeoman WebApp Modernizr JSHint
- 20. Modernizr vs HTML shiv
- 21. Modernizr Yepnope Css Fallback
- 22. Modernizr javascript code explanation
- 23. modernizr - 如何
- 24. Modernizr With Codeigniter
- 25. jscrollPane destroy();和modernizr
- 26. Modernizr和Boilerplate
- 27. Modernizr测试
- 28. Modernizr with Respond.js
- 29. Modernizr用cssSandpaper?
- 30. Bower和Modernizr
由于避免沿着原型链(“Modernizr”对象)上下移动而导致的改进? –
我想知道我们有多快的速度提升? – portoalet
评论的更新回答。 –