javascript – 比较if语句的快捷方式

前端之家收集整理的这篇文章主要介绍了javascript – 比较if语句的快捷方式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Concise way to compare against multiple values 8个
if (Progress.bar.status == 'finished' || Progress.bar.status == 'uploading'){
  //code here
}

如何缩短这个?我想写它,而不必重复Progress.bar.status两次.

沿着以下方向的东西:

Progress.bar.status == ('finished' or 'uploading').

解决方法

我喜欢查找表:
if ({finished:1,uploading:1}[Progress.bar.status]){
  //code here
}

这使用一个对象来编写两个或更多个选项,甚至是侧边的引用每个选项.它也非常快,因为对象可以被缓存,没有比较逻辑或方法调用,只需快速属性访问驱动流程…

请注意,在某些情况下,您可能需要使用Object.create(null),然后将该空白对象与您的选项合并/扩展,如果绝对必须避免“hasOwnProperty”,“valueOf”,“toString”,“toLocaleString”,“构造函数”和一些双下划线扩展.这通常不是一个问题,但这是需要牢记的.如果您可以在不使用这些关键字的情况下生活,或者从Object.create()构建缓存的选择集合,则可以快速简便地编写“上述”之一.

原文链接:https://www.f2er.com/js/154776.html

猜你在找的JavaScript相关文章