用if(cond)esle if(sameCond)两次检查同一条件有什么意义
What is the meaning of checking the same condition two times with if(cond) esle if(sameCond)?
我正在阅读一个名为Panda.js的游戏引擎。核心中有一种方法可以检查浏览器是否支持全屏,但我不理解这个代码:
if (this.system.canvas.requestFullscreen)
this.system.canvas.requestFullscreen();
else if (this.system.canvas.requestFullScreen)
this.system.canvas.requestFullScreen();
如果你仔细观察,你会发现它们不是相同的条件。这两种方法不同,因为一种是资本,另一种不是。我猜开发人员做了一个小写来表示它不是全屏的,资本是全屏的。不管怎样,情况都不一样。
if (this.system.canvas.requestFullscreen)
this.system.canvas.requestFullscreen();
else if (this.system.canvas.requestFullScreen)
this.system.canvas.requestFullScreen();`
屏幕中的S发生变化。
通常,在if
和else
中不会使用完全相同的条件。除非评估条件会改变后续调用的结果——可以说是一个糟糕的设计选择——否则else
块永远不会被执行,并且当条件评估为false
时,它将被不必要地测试两次。
也就是说,@Brendan是正确的:这个代码没有相同的条件。详见他的回答。
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- if条件中的递归混淆,JS如何解释“;真/假”;条件
- 如何在ejs模板中使用if条件
- for循环与if条件
- 中继器控件内的 IF 条件
- 比较IF条件下的两个javascript数值
- 如何在 javascript 中使用 document.getelementbyname 中的 if 条件
- 是否可以将鼠标悬停(evt)与if条件结合使用
- 当if条件被添加到循环中时,Javascript函数将停止工作
- 我的if条件的执行
- 为什么它没有进入 if 条件
- else-if条件在js渲染模板中
- 在模态中使用 e.target 的复杂 if 条件.js
- 达到IF条件后停止功能
- 如何使用流星模板上的if条件
- javascript setinterval使用if条件显示图像
- Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
- if条件如何在javascript中计算其值
- for循环中嵌套if条件的setTimeout