模擬實現Object.is()方法程式碼例項

admin發表於2017-03-10

本章節分享一段程式碼例項,它模擬實現了Object.is()方法。

因為此方法是ES6新增,所以存在一定瀏覽器相容性問題,模擬實現比較穩妥。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
Object.defineProperty(Object, 'is', {
  value: function(x, y) {
    if (x === y) {
      // 針對+0 不等於 -0的情況
      return x !== 0 || 1 / x === 1 / y;
    }
    // 針對NaN的情況
    return x !== x && y !== y;
  },
  configurable: true,
  enumerable: false,
  writable: true
});

上面程式碼實現了我們的要求,更多內容可以參閱相關閱讀。

相關閱讀:

(1).Object.defineProperty()可以參閱Object.defineProperty()一章節。

(2).===可以參閱javascript的三個等號(===)的作用一章節。

(3).NaN可以參閱javascript NaN一章節。

相關文章