js中~~和^=分别代表什么,用处是什么? |
您所在的位置:网站首页 › js中或者的符号 › js中~~和^=分别代表什么,用处是什么? |
先看个栗子: ~~false === 0 ~~true === 1 ~~undefined === 0 ~~!undefined === 1 ~~null === 0 ~~!null === 1 ~~"" === 0~~!"" === 1~是按位取反的意思,计算机里面处理二进制数据时候的非,~~就是再转回来,利用两个按位取反的符号,进行类型的转换,转换成数字符号。 而在计算机里面的^=是异或运算,相同取0,不同取1. 两个整数交换可以酱紫表示: var a = 10,b=20; a ^= b; b^=a;a^=b;将a = a ^= b; b = b^=a; a = a^=b;在js中类似于: var a = 1,b = 2; a = a + b; b = a - b; a = a - b; a // 2 b //1不过这种方法适用于任意两个数字类型的交换,无论是整数类型还是小数。 其次,交换两个变量,最简单的方式是: var a = 2,b = 'Miya'; [a,b,] = [b,a,] a // Miya b //2这个是ES6中的数组的解构赋值,很方便的进行两个变量的交换。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |