居然能运行,牛逼的隐式转换
18、parseInt(0.0000008) === 8
所以,比较数字时,应当有个宽容值。ES6中这个宽容值被预定义了:
19、++[[]][+[]]+[+[]] == 10
强大年夜的隐式转换,23333
20、0.1 + 0.2 == 0.3
这种方法可以根据传入字符串内容来创建一个函数 是不是高大年夜上?!
0.1 +0.2 == 0.3 竟然是不成立的。。。。所以这就是为什么数据库存储对于泉币的最小单位都是分。
简单说,0.1和0.2的二进制浮点表示都不是精确的,所以相加后不是0.3,接近(不等于)
0.30000000000000004。
15、实现标准JSON的深拷贝
Number.EPSILON
。
[...new Set([1, "1", 2, 1, 1, 3])]
前不久面试阿里就问了这道题,哈哈,所以也写上一下
22、用最短的代码实现一个长度为m(6)且值都n(8)的数组
Array(6).fill(8)
23、短路表达式
前提断定
var a = b && 1// 相当于if (b) {a = 1} else {a = b}var a = b || 1// 相当于if (b) {a = b} else {a = 1}
24、JavaScript版迷宫
逃出迷宫,2333
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];var maxInNumbers = Math.max.apply(Math, numbers);var minInNumbers = Math.min.apply(Math, numbers);
26、将argruments对象转换成数组
var argArray = Array.prototype.slice.call(arguments);或者ES6:var argArray = Array.from(arguments)
27、javascript高逼格之Function构造函数
很多JavaScript教程都告诉我们,不要直接用内置对象的构造函数来创建根本变量,例如var arr = new Array(2); 的写法就应当用var arr = [1, 2];的写法来代替。
然则,Function构造函数(留意是大年夜写的Function)有点特别。Function构造函数接收的参数中,第一个是要传入的参数名,第二个是函数内的代码(用字符串来表示)。
var f = new Function('a', 'alert(a)');f('jawil'); // 将会弹出窗口显示jawil
28、年腋荷琐数组中找到一个数,O(n)的算法,找不到就返回 null。
正常的版本:
推荐阅读
云计算,不必细说谁都知道是什么,人们多若干少都有所耳闻。云计算是继20世纪80年代大年夜型计算机到C/S改变之后,IT界的又一次巨变,它经由过程互联网将某计算义务分布到大年夜量的计算机>>>详细阅读
本文标题:这些JavaScript编程黑科技,高逼格代码,让你惊叹不已
地址:http://www.17bianji.com/lsqh/38658.html
1/2 1