ES6中,新增了许多有用的方法,下面分享几个ES6之前得版本写的polyfill

Number.EPSILON:

// 机器精度,并判断2个数是否相等
if(!Number.EPSILON){Number.EPSILON = math.pow(2, -52);
}function numberCloseEnoughToEqual(n1, n2) {return Math.abs(n1 - n2 ) < Number.EPSILON;
}
// 注:js中的机器精度.用于判断0.1 + 0.2 和 0.3是否相等

Number.isInteget:

// 判断一个数是否为整数
if(!Number.isInteger) {Number.isInteger = function(num) {return typeof num === "number" && num %1 == 0;};
}

Number.isSafeInteger:

// 判断一个数是否是一个安全的整数
if(!Number.isSafeInteger) {Number.isSafeInteger = function(num) {return Number.isInteger(num) && Math.abs(num) <= Number.MAX_SAFE_INTEGER;};
}

Number.isNaN:

// 判断一个数是否"不是数"(无效数值、失败数值、坏数值)
if(!Number.isNaN) {Number.isNaN = function(n) {return ( typeof n === 'number' && window.isNaN(n) );};
}// 另一种(利用NaN不等于自身),
if(!Number.isNaN) {Number.isNaN = function(n) {return n !== n;};
}

Object.is

// 判断两个值是否绝对相等
if(!Object.is) {Object.is = function(v1, v2) {// 判断是否为-0if(v1 === 0 && v2 === 0) {return 1/v1 === 1/v2;      }// 判断是否是NaNif(v1 !== v1) {return v2 ! == v2}// 其他情况return v1 === v2;};
}

Date.now

// 获取当前时间
if(!Date.now) {Date.now = function() {return (new Date()).getTime();};
}

参考《你不知道的JavaScript》(中卷)第2章

javascript --- polyfill中几个常用方法相关推荐

  1. javascript基础系列:数组常用方法解析

    javascript基础系列:数组常用方法解析 今天是比较特殊的日子,我们编程人员共同的节日,1024,祝每个编程人员节日快乐! 数组是javascript必不可少的一项,今天让我们来总结一下数组操作 ...

  2. Javascript语言精粹之Array常用方法分析

    Javascript语言精粹之Array常用方法分析 1.Array常用方法分析 1.1 Array.prototype.sort() Javascript的默认比较函数假定被排序元素都是字符串,所以 ...

  3. JavaScript文件中调用AngularJS内部方法或改变$scope变量

    需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...

  4. java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...

    1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...

  5. javascript 字符串中间隔固定位置插入字符

    javascript 字符串中间隔固定位置插入字符 代码: <!DOCTYPE html> <html lang="en"> <head>< ...

  6. java中String的常用方法

    java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...

  7. 【Infragistics教程】在javascript类中添加静态成员属性

    2019独角兽企业重金招聘Python工程师标准>>> [下载Infragistics Ultimate最新版本] 在一个javascript类中创建一个属性的需求,它需要被所有对象 ...

  8. JavaScript脚本中 getElementById 返回值总是为空

    出现该问题的主要问题是由于JavaScript脚本中调用的标签位置位于脚本位置之后,我理解的JavaScript调用了尚未加载的标签,故而出错.因此解决办法也好办,就是讲JavaScript代码写在b ...

  9. 如何通过其值获取JavaScript对象中的键?

    本文翻译自:How to get a key in a JavaScript object by its value? I have a quite simple JavaScript object, ...

最新文章

  1. NOIP 2014 联合权值
  2. UNIX环境高级编程8.9竞争条件
  3. php内置函数数组函数,PHP 数组排序内置函数
  4. 高性能MySQL(2)——Schema与数据类型的优化
  5. 拼数(洛谷-P1012)
  6. MySQL学习-MySQL条件查询
  7. Halcon学习路线——Blob分析(2)
  8. 太火了!MyBatis-Plus为啥这么牛?
  9. Java异步多线程编程探索之CompletableFuture
  10. Chrome的版本历史
  11. Cadence PSpice 模型5:基于ABM库创建XC6209稳压芯片的PSpice模型实战图文教程
  12. hp服务器系统检测,HP服务器检测步骤.pdf
  13. GD32F103学习笔记(4)——GPIO接口使用
  14. amazeui的表单开关插件的自定义事件必须添加.bootstrapSwitch 命名空间,给了我们什么启示...
  15. 【转】区块链面试指南--之共识算法
  16. signature=19d152593423a6d5cacb970ae698d132,===Former的iconic signature shape—Rusticated Apple===
  17. ascii art c语言,ASCII art (简体中文)
  18. ubuntu18.0 调节显卡GPU涡轮风扇转速
  19. 阿里云的这群疯子- 文/史中
  20. 2021年北京值得去的100家规模互联网大厂公司全名简称

热门文章

  1. python tcp服务器_python实现TCP服务器端与客户端的方法详解
  2. 怎么用贝塞尔工具画圆_Win10恶意软件删除工具怎么用?这个方法都舍不得分享...
  3. android mdpi对应哪一个屏幕,android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配...
  4. java api管理工具_一个能快速写出实体类的Api文档管理工具
  5. matlab实现unix时间戳到标准时间的转换
  6. 生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成
  7. Uboot中start.S源码的指令级的详尽解析(转)
  8. 2.1对 特征归一化 的一些理解
  9. windows linux 子系统折腾记
  10. Linux基本的操作