javascript !! 小技巧

前天做前端插件项目的时候大师兄亲自督阵,写了一段我以为是敲错了的代码,还班门弄斧的去指正。。。结果师兄教我这个js的小trick。先上代码:

function addNewNode(){
	var newNode = bizTrigger('createNode');
	if(!!newNode && !!newNode.id){
		//根据newNode的信息在视图中创建一个节点
	}
}
那么话归正传,‘!!’到底有什么用呢?通常newNode这个变量在js中可能会取到的值为undefined,null,和一个正常的变量,这里我们简称为a。

对他们分别取一次反,结果如下:


可以发现第一次取反把上面三种情况都化作统一的布尔型变量去处理了,而刚好取反变成bool值之后已经区分开了undefined以及null这两种变量缺省的情况和变量正常存在的情况。再取一次反结果如下:


如图这样就可以利用!!来很好的处理变量缺省的情况啦。当然这只是一个小技巧,它和我们直接用if(newNode)去做判断相比又有什么优势呢?我们只是搞清楚了那样做是可以的,希望看到的朋友们有谁想清楚告诉我一下。。。THX



如果文章有帮助的话我会很高兴,富裕的朋友接着往下看

项目的钱还是没有发!!!

最近揭不开锅了。。。您的帮助会是我最大的动力。。。

          


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值