javascript中的【~~】运算符,简单一点的用法就是可以将一些变量转化为Number(数字)类型的。
将数字类型的字符串转化为纯数字。
var a = ‘123‘; console.log(~~a); // 输出数字类型的123
如果字符串中带了其他字母,符号,或者其他除数字外的东西,一律输出Number类型的0。
var a = ‘123a‘; console.log(~~a); // 输出0
任何boolen类型的,如果为TRUE则输出1,FALSE输出0。
var a = 1 == 1; console.log(~~a); // 输出1
特殊类型,转化为Boolean是true的输出1,转化为Boolean是false的输出0。
var a = undefined; console.log(~~a); // 输出0
var a = !undefined; console.log(~~a); // 输出1
最后来看一个特别厉害的应用例子。
var a = (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]; console.log(a); // 输出"sb"
"如果有一天失去的东西回来了,你还会要吗?"
原文地址:https://www.cnblogs.com/yanggb/p/11825784.html
时间: 2024-12-16 00:30:38