JavaScript中的“!!”

<!DOCTYPE html>
<html>
	<head>
		<meta charset="{CHARSET}">
		<title></title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		console.log(!!undefined)	//false
		console.log(!!null)		//false
		console.log(!!Number)	//true
		console.log(!!0)	//false
		console.log(!!-1)	//true
		console.log(!!1)	//true
		console.log(!!'aa')		//true
		console.log(!! '')		//false


		console.log(!0)		//true
		console.log(!'')		//true
		console.log(!undefined)		//true
		console.log(!null)		//true
		//var obj={flag:true}
		//var tst=!!obj.flag
		//console.log(tst) //true 如果设置了obj中flag的值
	//(不是null/undefined/0/""),那么tst打印的就是与obj.flag一样的值
		
		var obj={flag:true}
		var tst=!obj.flag
		console.log(tst) //false  tst打印的就是与obj.falg取反的值
	</script>
</html>

!!返回的值是布尔类型的 (true\false)
换句话说就是 !!值 == Boolean
undefined , null 返回的都是false
Number:除了0返回的是false,其他的数值都返回的是true
字符串类型:除了空字符串返回的是false,其他都返回的是true
!它是取反 能将变量转换为布尔值 用它取反的null,undefined,‘ ’ ,0的都是true,其他的都是false

总结一下:!就是把对象转化为布尔值然后取反,!!是吧取反后的布尔值再取反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值