通過polyfill瞭解JS(一)

陳廣亮發表於2018-09-14

Number.isNaN

  // window.isNaN('a') true
  if(!Number.isNaN) {
    Number.isNaN = function(n) {
      return (

        typeof n === 'number' &&
        window.isNaN(n)
      )
    }
  }
複製程式碼

Object.is

  object.is = function(v1, v2) {
    // 0 === -0 Infinity !== -Infinity
    if (v1 === 0 && v2 === 0) {
      retuen 1 / v1 === 1 / v2;
    }
    // NaN !== NaN
    if (v2 !== v2) {
      return v2 !== v2;
    }
    return v1 === v2;
  }
複製程式碼

Date.now

  // +new Date() ==== +new Date === new Date().getTime()
  if(!Date.now) {
    Date.now = function() {
      return +new Date();
    }
  }
複製程式碼

相關文章