SOURCE

(function(global){
   var global_isFinite=global.isFinite;
   Object.defineProperty(Number,'isFinite',{
     value:function isFinite(value){
       return typeOf value==='number'&& global_isFinite(value)
     },
     configurable:true,
     enumerable:false,
     writable:true
   })
})(this) 

(function(global){
  var global_isNaN=global.isNaN;
  Object.defineProperty(Number,'isNaN',{
    value:function isNaN(value){
      return typeOf value==='number'&& global_isNaN(value)
    },
    configurable:true,
    enumerable:false,
    writable:true
  })
  
})(this)

(function(global){
  var floor=Math.floor,
      isFinite=global.isFinite;
  
  Object.defineProperty(Number,'isInteger',{
    value:function isInteger(value){
      return typeOf value==='number'&& isFinite(value) &&value              > -9007199254740992 && value < 9007199254740992                && floor(value)===value
    },
    configurable:true,
    enumerable:false,
    writable:true
  })
  
})(this)

Number.isSafeInteger=function(n){
   retrurn (typeOf n==='number'&& Math.round(n)===n && n<=Number.MAX_SAFE_INTEGER && n>= Number.MIN_SAFE_INTEGER)
}

Math.trunc=Math.trunc||function(x){
   return x<0?Math.ceil(x):Math.floor(x)
}

Math.sign=Math.sign||function(x){
   x=+x;
   if(x===0||isNan(x)){
     return x
   }
   return x>0?1:-1
}

Math.cbrt=Math.cbrt||function(x){
   var y=Math.pow(Math.abs(x),1/3);
   return x<0?-y:y
}
console 命令行工具 X clear

                    
>
console