js判断两个变量是否相等

判断两个变量是否相等,若是基本类型可以直接用全等操作符,但是引用类型就需要变一变了;使用typeof 判断类型,null、Array、Object都会被当成”object”类型,注意区分和判断;

var isEqual = function(a,b){
    if (typeof a !== typeof b) {
        return false;
    }
    if (typeof a!=='object') {
        return a===b?true:false;
    }
    if (a===null||b===null) {
        return a===b?true:false;
    }
    return JSON.stringify(a)===JSON.stringify(b)?true:false;
};
  • 首先,类型不相同的肯定不等;
  • 类型是否为object,如果不是,则直接判断;
  • 判断a或者b是否为null
  • 使用JSON的stringify函数将对象或数组转换成字符串,再进行比较看是否相等。