本篇内容介绍了“怎么使用JavaScript编写枚举”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!假设有这样一个场景,我们需要统计员工的技术栈,目前我们需要标记的技术有 CSS、JavaScript、HTML、WebGL。然后我可以这样写枚举:之前是这样写的,但是,最近看vue源码的时候,发现了一个高效使用枚举的技巧,在这里分享给大家。我们可以这样写上面的枚举:左移运算符 (
例如:二进制的 1 是 0000 0001 ,左移一位是 0000 0010 ,即十进制的 2 。如果我们将其移动两位,它将变为 0000 0100 ,即十进制的 4。如果我们将其移动三位,它将变为 0000 1000 ,即十进制的 8。如果我们将其移动 N 位,它将变为 2^Nin 十进制。按照上面的方法定义好枚举后,我们可以这样使用:温馨提示:| 是按位或运算符,它在每个操作数的对应位为 1 的每个位位置返回 1。在 JavaScript 中,整数存储在 4 个字节中,即 32 位。第一个代表正负,后面的31代表数字。当我们用二进制表示 1 , 1 我们定义的枚举变量只有一个二进制格式的1,并且占据不同的位置。当我们向技能添加枚举选项时,我们使用skills | skill。假设现在我们需要添加的技能是SKILLS.CSS,那么在执行过程中,就是:我们可以发现,在技能中,SKILLS.CSS对应的位置会变成1。反之,那么我们可以通过查看skills&SKILLS.CSS的结果是否为0来判断技能中是否存在SKILLS.CSS。顺便说一句,这里我们也可以发现这个技巧有个缺点,就是枚举项不能超过 31 个。答案很简单,这样的代码运行起来更高效。CPU中有直接对应位操作的指令,因此效率更高。我们也可以做一个性能测试。如果我们不使用按位运算,而是使用传统的方法(数组或映射)来实现,那么代码如下。Array 方法:Map 方法:这是 jsbench.me 的性能测试:使用按位枚举,性能明显更高。我是从 Vue 源代码中学到的。“怎么使用JavaScript编写枚举”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输免费云主机域名出更多高质量的实用文章!
这篇“php如何实现百度云加速API及SDK封装”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现百度云加速API及SDK封装”文章吧…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。