是switch语句的表达式,每次求值一次或对每种情况求值一次
Is the expression of a switch statement evaluated once or for each case?
将表达式的值存储在变量中是否是最佳实践,例如
var category = fetchCategory();
switch(category) {
case 'movie': ... break;
case 'music': ... break;
case 'book': ... break;
default: ...
}
和
switch(fetchCategory()) {
case 'movie': ... break;
case 'music': ... break;
case 'book': ... break;
default: ...
}
是否有显著的性能差异?
表达式求值一次:ECMAScript语言标准规定这是表达式求值的结果,所以函数应该只调用一次。
我更喜欢第二个例子,如果一个变量不打算被使用,就不要把它放在堆栈上。跟踪它更像是一种精神消耗。
据我所知,它们是一样的。
这是小提琴,如你所见,函数只被调用一次
http://jsfiddle.net/stratboy/q7ac2gqf/1/function test(){ console.log('processing') }
switch(test()){
case 1: console.log(1); break;
case 2: console.log(2); break;
default: console.log('default');
}
相关文章:
- Javascript返回值只在循环中返回一次
- Jquery FadeIn FadeOut 只工作一次
- Javascript html每点击一次就会更改url
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- jQuery滚动功能只工作一次
- 刷新导致我的帖子“;张贴“;再一次
- 引导程序崩溃一次只能看到一个
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- 加载器组件仅加载一次
- 根据Angular.JS上一次的内容禁用选择
- 在谷歌应用程序脚本中,如何在满足条件的情况下只发送一次电子邮件
- jQuery点击功能只工作一次(新情况)
- 如何在不刷新页面的情况下每 10 秒在本地重新加载一次 JS 文件
- 在每秒 10 次调用限制的情况下一次发出 50 个 API 请求的有效方法是什么(烂番茄 API)
- 在没有jquery的情况下只执行一次事件侦听器函数
- 是switch语句的表达式,每次求值一次或对每种情况求值一次
- 在没有jquery的情况下一次设置多个属性
- 如何在没有认证的情况下在网站上投票一次
- 在angularjs中,如何在不使用单选按钮的情况下一次选择一个复选框