回答
不,没有真正的区别。这对大多数有经验的编码人员来说可能是显而易见的,但我做了一个jsperf来证明它:http://jsperf.com/tetetetee
你看不到任何可重现的差异。如果存在差异,无论如何,它将会非常小,以至于你无法可靠地测量它。
使用第一种形式的原因只是它的编写时间较短,而对于有经验的JavaScript编码人员而言,读取时间可能会缩短一些。在某些情况下,它可能有助于使代码更加简洁或对称。我个人并不不喜欢第一种形式,但我不会推荐它,因为它会使大多数人难以阅读代码。
我怀疑这两个代码片段在性能上有什么不同。有些人只是喜欢用更紧凑的方式进行编码。我个人认为第一个例子非常神秘,即使作者在六个月后重新阅读代码时可能需要停下来弄清楚发生了什么。
“主管程序员完全意识到自己的头骨有限的大小,因此他完全谦卑地接近他的任务,并避免像鼠疫这样的聪明技巧。” — Edsger W. Dijkstra
我不认为2个片段之间有任何区别,第二个片段与第一个片段相比更具可读性。
两者完全一样。单行版本是压缩/缩小器应该/应该在内部执行的操作,而用户明确执行该操作。在我看来不太可读。
总之:没有功能差异,评估方式也没有差异。它被评估的方式如下:
obj = {}
新对象在内存中创建和参考被存储到一个称为obj
变量。
都在该作业的周围放置括号((obj = {})...
),只调用第二个示例中的实例(obj...
)直接引用内存中的同一对象。唯一的区别是第二个代码示例写在一个新行上。
从那里的代码是完全一样的:[key] = val
,将存储在key
变量中的属性设置为在val
中设置的值。
这表明代码的计算结果完全相同,这意味着性能不会有任何差异。
我能想到的第一个例子是为什么这样做的两个原因是为了使代码更加紧凑以减小文件大小,或者仅仅是某人的个人偏好。
- 1. 这是一个优化吗?
- 2. 这个JavaScript优化与否?
- 3. 这是一个gcc优化错误吗?
- 4. 这是一个优化错误吗?
- 5. 如何优化这个javascript代码?
- 6. 优化这段JavaScript代码
- 7. 优化这个SQL!
- 8. Matlab:优化这个?
- 9. mongodb批量插入的微优化?或者这是一个重要的优化?
- 10. 这是NP优化吗?
- 11. 这是否得到优化?
- 12. 是否可以将这2个select语句优化为一个?
- 13. 如何优化这个TSQL
- 14. 优化这个查询
- 15. 优化这个方法C#
- 16. 如何优化这个C++?
- 17. 优化这个Python代码
- 18. 有优化这个查询
- 19. 优化这个脚本
- 20. MSDN例子:这是一个错误或优化(X509Certificate2类)
- 21. LLVM编译器 - 这是一个优化错误吗?
- 22. Mysql-这是一个很好的优化查询吗?
- 23. 这是一个有效的编译器优化?
- 24. 这不是一个文本文件(zend优化器)
- 25. 这是否优化总是工作
- 26. 这是一个专业化?
- 27. 如何简化/优化这个jQuery
- 28. 这是一个JavaScript关闭?
- 29. Javascript优化
- 30. 优化Javascript
它只是更短。 –
它真的很重要吗?或者是让代码更易读,更易维护? –
更容易在一行中阅读?我发现它恰恰相反。 – acdcjunior