判斷是否完全相等

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)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章