javascript采坑记~ ==与===最佳实践

var curPlayer = item.players[0];

if (jsclient.DelRoomSuccess && curPlayer) {

	var uid =  parseInt(curPlayer.uid);

	if (jsclient.DelRoomSuccess.firstDel === uid) {
		this.setColor(cc.color(255, 248, 60));
		str = "解散房间";
	} else if (jsclient.DelRoomSuccess.players[uid + ""].delRoom === 1) {
		str = "同意";
	} else if (jsclient.DelRoomSuccess.players[uid + ""].delRoom === 0) {
		str = "等待选择";
	} else if (jsclient.DelRoomSuccess.players[uid + ""].delRoom === -1) {
		str = "不同意";
	} else {
		cc.log("player0 decision status error");
	}
}

使用了别人写的模块里面有个item,并且知道item.players[0].uid是获取用户uid,因此拿着和自己的firstDel这个玩家id来比较,但是始终不会相等。  是数据错了吗?打印发现不是。最后想到是不是类型不一样啊,果然打印后一个是:string, 一个是number

 

因此使用别人的 模块既然知道是uid的比较,又不想每个都parseInt,那么用==即可。 但是这并不是解决办法。终极解决方案当然是ts了!!!

你可能感兴趣的:(js)