有没有更快的方法来编写条件语句?
我有这样的声明:
if(window.location.hash != '' && window.location.hash != '#all' && window.location.hash != '#')
我可以这样写,这样我只需提及一次window.location.hash吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
显而易见的方法是:
the obvious way to do this is:
您可以使用 in 运算符和对象文字:
这通过测试对象的键来工作(0 只是填充符)。
另请注意,如果您弄乱
object
的原型,这可能会中断you can use the in operator and an object literal:
this works by testing the keys of the object (the 0's are just filler).
Also note that this may break if you are messing with
object
's prototype正则表达式?不太可读,但足够简洁:
这也有效:
...但根据肯的评论,效率较低。
Regular expression? Not so readable, but concise enough:
This also works:
... but it's less efficient, per Ken's comment.
对于较新的浏览器使用
indexOf
,并为较旧的浏览器提供一个实现,您可以在 此处。Use
indexOf
for newer browsers, and supply an implementation for older browsers which you can find here.只是补充一下,因为除了各种各样的不要重复自己的方法之外,没有人提到:
Just an addition, because besides quite good variety of do not repeat yourself approaches, nobody mentioned that:
我认为检查长度是件好事,因为第一个字符始终是哈希值。
I think it is good to check on length since the first character always is an hash.