javascript --- polyfill中几个常用方法
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中几个常用方法相关推荐
- javascript基础系列:数组常用方法解析
javascript基础系列:数组常用方法解析 今天是比较特殊的日子,我们编程人员共同的节日,1024,祝每个编程人员节日快乐! 数组是javascript必不可少的一项,今天让我们来总结一下数组操作 ...
- Javascript语言精粹之Array常用方法分析
Javascript语言精粹之Array常用方法分析 1.Array常用方法分析 1.1 Array.prototype.sort() Javascript的默认比较函数假定被排序元素都是字符串,所以 ...
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...
1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...
- javascript 字符串中间隔固定位置插入字符
javascript 字符串中间隔固定位置插入字符 代码: <!DOCTYPE html> <html lang="en"> <head>< ...
- java中String的常用方法
java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...
- 【Infragistics教程】在javascript类中添加静态成员属性
2019独角兽企业重金招聘Python工程师标准>>> [下载Infragistics Ultimate最新版本] 在一个javascript类中创建一个属性的需求,它需要被所有对象 ...
- JavaScript脚本中 getElementById 返回值总是为空
出现该问题的主要问题是由于JavaScript脚本中调用的标签位置位于脚本位置之后,我理解的JavaScript调用了尚未加载的标签,故而出错.因此解决办法也好办,就是讲JavaScript代码写在b ...
- 如何通过其值获取JavaScript对象中的键?
本文翻译自:How to get a key in a JavaScript object by its value? I have a quite simple JavaScript object, ...
最新文章
- NOIP 2014 联合权值
- UNIX环境高级编程8.9竞争条件
- php内置函数数组函数,PHP 数组排序内置函数
- 高性能MySQL(2)——Schema与数据类型的优化
- 拼数(洛谷-P1012)
- MySQL学习-MySQL条件查询
- Halcon学习路线——Blob分析(2)
- 太火了!MyBatis-Plus为啥这么牛?
- Java异步多线程编程探索之CompletableFuture
- Chrome的版本历史
- Cadence PSpice 模型5:基于ABM库创建XC6209稳压芯片的PSpice模型实战图文教程
- hp服务器系统检测,HP服务器检测步骤.pdf
- GD32F103学习笔记(4)——GPIO接口使用
- amazeui的表单开关插件的自定义事件必须添加.bootstrapSwitch 命名空间,给了我们什么启示...
- 【转】区块链面试指南--之共识算法
- signature=19d152593423a6d5cacb970ae698d132,===Former的iconic signature shape—Rusticated Apple===
- ascii art c语言,ASCII art (简体中文)
- ubuntu18.0 调节显卡GPU涡轮风扇转速
- 阿里云的这群疯子- 文/史中
- 2021年北京值得去的100家规模互联网大厂公司全名简称
热门文章
- python tcp服务器_python实现TCP服务器端与客户端的方法详解
- 怎么用贝塞尔工具画圆_Win10恶意软件删除工具怎么用?这个方法都舍不得分享...
- android mdpi对应哪一个屏幕,android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配...
- java api管理工具_一个能快速写出实体类的Api文档管理工具
- matlab实现unix时间戳到标准时间的转换
- 生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成
- Uboot中start.S源码的指令级的详尽解析(转)
- 2.1对 特征归一化 的一些理解
- windows linux 子系统折腾记
- Linux基本的操作