1.用全等於號
function identity(val1, val2) {
// ===代表是全等於
return val1 === val2 ? true : false
}
2.
function identity(val1, val2) {
// 判斷兩個值是不是NAN的情況
if ((val1 !== val1)&&(val2 !== val2)) {
return true;
}
if (val1 === val2) {
return true;
}
return false;
}
3.判斷0 和 -0 情況 和 NAN的情況
function identity(val1, val2) {
if(val1===val2){
// +0不等於-0;但是用===的話會返回true;分母不能爲0;
return val1 !== 0 || val2 !== 0 || 1/val1 === 1/val2;
}else {
//NaN等於NaN 但是NaN === NaN 等於true;
return val1 !== val1 && val2!== val2;
}
}
4.用es6 的新方法
function identity(val1, val2) {
// Object.is() 是判斷兩個值是否相等
return Object.is(val1,val2)
}