1 运算符可以将其他类型转换为数字
- 运算符可以将true,false转换为1,0
1*true----->1
1*false---->0
- 运算符可以将字符串型的数字转换为number型
1+"2"----->"12"
+"2" ----->2 //这段代码把字符串 "2" 转换成真正的数字。当一元加法运算符对字符串进行操作时,它计算字符串的方式与 parseInt() 相似,主要的不同是只有对以 "0x" 开头的字符串(表示十六进制数字),一元运算符才能把它转换成十进制的值。因此,用一元加法转换 "010",得到的总是 10,而 "0xB" 将被转换成 11。
"2"-0 ----->2
"2"+1 ----->"21"
2 运算符更改函数声明为函数表达式
// 这么写会报错,因为这是一个函数定义:
function() {}()
// 常见的(多了一对括号),调用匿名函数:
(function() {})()
// 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用.在前面加上~+-等一元操作符也可以。。
!function() {}()
感叹号一元操作符等的用法,一般是在压缩过的js文件里面,因为在匿名函数调用的时候,通常我们都是用: (function(){})() 的形式,但也可以使用另一种形式:!function(){}() 前面的!号可以换成-+~等等一元操作符,从而省下了1字节。