function identity(val1, val2) {
/*這題的意思應該是考===完全相等,
除此之外應注意到的是NaN和+0與-0,這個在===中的判斷是錯誤的,
建議使用es6新增的能力Object.is(),與===不同之處只有兩個:
一是 +0 不等於 -0 ,二是 NaN 等於自身。*/
if(val1===val2){
// +0不等於-0;但是用===的話會返回true;所以要做額外的判斷;
// 1/+0是Infinity,1/-0是-Infinity
return val1 !== 0 || val2 !== 0 || 1/val1 === 1/val2;
}else {
//NaN等於NaN 但是NaN === NaN 等於false;所以做額外的判斷
return val1 !== val1 && val2!== val2;
}
}