js判断两个变量或常量是否相等

JSON.stringify()在判断时会出现{a:1,b:2}!={b:2,a:1}的情况,下面是我的代码:
<script>
function equal(o1,o2){
	if(o1===o2){return true;}
	if(typeof(o1)!==typeof(o2)){
		return false;
	}
	if(typeof(o1)===typeof([])){
		// if(o1.length!==o2.length){
			// return false;
		// }
		// b1=true
		// for(i in o1){
			// if(!equal(o1[i],o2[i])){
				// return false
			// }
			
		// }
		if(JSON.stringify(o1)[0]!==JSON.stringify(o2)[0]){
			return false;
		}
		if(Object.keys(o1).length===Object.keys(o2).length){
			b2=false
			for(i in o1){
				if(!equal(o1[i],o2[i])){
					return false
				}
			}
			return true
			
		}else{
			return false;
		}
		return true
	}
	if(typeof(o1)===typeof({})){
		
	}
}
res=equal({s:{s:1},w:3},{w:3,s:{s:1}})
console.log(res)
</script>
上一篇:[Unity] ECS中的重复多态性


下一篇:08number