1、单行写一个评级组件
"★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值,然后执行上面代码,看图
才发现插件什么的都弱爆了
2、如何装逼用代码骂别人SB
(!(~+[])+{})[--[~+""][+[]][~+[]] + !+[]]+({}+[])[[~!+[]]~+[]]
3、如何用代码优雅的证明自己NB
这个牛逼了
console.log(([][[]]+[])[+!![]]+([]+{})[!+[]+!![]])
4、Javascript 错误处理的方式的正确姿势
,舅服你
try {
something
} catch (e) {
window.location.href =
"http://stackoverflow.com/search?q=[js]+" +
e.message;
}
有兴趣学习交流python 编程的伙伴可加群:1026352781
5、从一行代码里面学点Javascript
[].forEach.call($$("*"),function(a){
a.style.outline&#61;"1px solid #"&#43;(~~(Math.random()*(1<<24))).toString(16)
})
翻译成正常语言就是这样的
Array.prototype.forEach.call(document.querySelectorAll(&#39;*&#39;),
dom &#61;> dom.style.outline &#61; &#96;1px solid #${parseInt(Math.random() *
Math.pow(2,24)).toString(16)}&#96;)
接下来在浏览器控制看看&#xff1a;something magic happens
具体分析请参见这篇文章&#xff1a;从一行代码里面学点Javascript
6、论如何优雅的取随机字符串
Math.random().toString(16).substring(2) // 13位
Math.random().toString(36).substring(2) // 11位
7、(10)
8、匿名函数自执行
这么多写法你选择哪一种&#xff1f;我选择死亡。
( function() {}() );
( function() {} )();
[ function() {}() ];
~ function() {}();
! function() {}();
&#43; function() {}();
- function() {}();
delete function() {}();
typeof function() {}();
void function() {}();
new function() {}();
new function() {};
var f &#61; function() {}();
1, function() {}();
1 ^ function() {}();
1 > function() {}();
// ...
9、另外一种undefined
从来不需要声明一个变量的值是undefined&#xff0c;因为Javascript会自动把一个未赋值的变量置为undefined。所有如果你在代码里这么写&#xff0c;会被鄙视的
var data &#61; undefined;
&#96;&#96;&#96;&#96;
但是如果你就是强迫症发作&#xff0c;一定要再声明一个暂时没有值的变量的时候赋上一个undefined。那你可以考虑这么做&#xff1a;
&#96;&#96;&#96;Javascript
var data &#61; void 0; // undefined
void在Javascript中是一个操作符&#xff0c;对传入的操作不执行并且返回undefined。void后面可以跟()来用&#xff0c;例如void(0)&#xff0c;看起来是不是很熟悉&#xff1f;没错&#xff0c;在HTML里阻止带href的默认点击操作时&#xff0c;都喜欢把href写成Javascript:void(0)&#xff0c;实际上也是依靠void操作不执行的意思。
当然&#xff0c;除了出于装逼的原因外&#xff0c;实际用途上不太赞成使用void&#xff0c;因为void的出现是为了兼容早起ECMAScript标准中没有undefined属性。void 0的写法让代码晦涩难懂。
10、论如何优雅的取整
var a &#61; ~~2.33
var b&#61; 2.33 | 0
var c&#61; 2.33 >> 0
11、如何优雅的实现金钱格式化&#xff1a;1234567890 --> 1,234,567,890
用正则魔法实现&#xff1a;
var test1 &#61; &#39;1234567890&#39;
var format &#61; test1.replace(/\B(?&#61;(\d{3})&#43;(?!\d))/g, &#39;,&#39;)
console.log(format) // 1,234,567,890
非正则的优雅实现&#xff1a;
function formatCash(str) {
return str.split(&#39;&#39;).reverse().reduce((prev, next, index) &#61;> {
return ((index % 3) ? next : (next &#43; &#39;,&#39;)) &#43; prev
})
}
console.log(formatCash(&#39;1234567890&#39;)) // 1,234,567,890
12、这个我服&#xff0c;还有这个你很机智
我服
while (1) {
alert(&#39;牛逼你把我关了啊&#39;)
}
你很机智&#xff0c;好一个障眼法
清除缓存&#xff1a; 清除缓存
13、逗号运算符
var a &#61; 0;
var b &#61; ( a&#43;&#43;, 99 );
console.log(a); // 1
console.log(b); // 99
14、论如何最佳的让两个整数交换数值
常规办法&#xff1a;
var a&#61;1,b&#61;2;
a &#43;&#61; b;
b &#61; a - b;
a -&#61; b;
缺点也很明显&#xff0c;整型数据溢出&#xff0c;对于32位字符最大表示数字是2147483647&#xff0c;如果是2147483645和2147483646交换就失败了。
黑科技办法&#xff1a;
a ^&#61; b;
b ^&#61; a;
a ^&#61; b;
哈哈 &#xff0c;看不懂的童鞋建议去补习一下C语言的位操作&#xff0c;我就不去复习了&#xff0c;以前学嵌入式时候学的位操作都忘了
15、实现标准JSON的深拷贝
var a &#61; {
a: 1,
b: { c: 1, d: 2 }
}
var b&#61;JSON.parse(JSON.stringify(a))
不考虑IE的情况下&#xff0c;标准JSON格式的对象蛮实用&#xff0c;不过对于undefined和function的会忽略掉。
16、不用Number、parseInt和parseFloat和方法把"1"字符串转换成数字
哈哈&#xff0c;不准用强制类型转换&#xff0c;那么就想到了强大了隐式转换
var a &#61;1 ;
&#43;a
17、如何装逼的写出"hello world!"
滚动条很长哦
([]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]])())[&#43;[]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;([]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]])())[!&#43;[]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]])()([][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;([]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]])())[!&#43;[]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]])()(([]&#43;{})[&#43;[]])[&#43;[]]&#43;(!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;[])&#43;(!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;[]))&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;([]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]])())[!&#43;[]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]])()([][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;([]&#43;[][(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]][([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;[]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([]&#43;{})[&#43;!![]]&#43;(!![]&#43;[])[&#43;!![]]]((!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[&#43;[]]&#43;(!![]&#43;[])[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(![]&#43;[])[!&#43;[]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([]&#43;{})[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;(&#43;{}&#43;[])[&#43;!![]]&#43;(!![]&#43;[])[&#43;[]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]&#43;!![]&#43;!![]]&#43;([]&#43;{})[&#43;!![]]&#43;([][[]]&#43;[])[&#43;!![]])())[!&#43;[]&#43;!![]&#43;!![]]&#43;([][[]]&#43;[])[!&#43;[]&#43;!![]&#43;!![]])()(([]&#43;{})[&#43;[]])[&#43;[]]&#43;(!&#43;[]&#43;!![]&#43;[])&#43;(&#43;!![]&#43;[]))
居然能运行&#xff0c;牛逼的隐式转换
18、parseInt(0.0000008) &#61;&#61;&#61; 8
19、&#43;&#43;[[]][&#43;[]]&#43;[&#43;[]] &#61;&#61; 10
强大的隐式转换&#xff0c;23333
20、0.1 &#43; 0.2 &#61;&#61; 0.3
0.1 &#43;0.2 &#61;&#61; 0.3 竟然是不成立的。。。。所以这就是为什么数据库存储对于货币的最小单位都是分。
简单说&#xff0c;0.1和0.2的二进制浮点表示都不是精确的&#xff0c;所以相加后不是0.3&#xff0c;接近(不等于)
0.30000000000000004。
所以&#xff0c;比较数字时&#xff0c;应该有个宽容值。ES6中这个宽容值被预定义了&#xff1a;Number.EPSILON。
21、最短的代码实现数组去重
[...new Set([1, "1", 2, 1, 1, 3])]
前不久面试阿里就问了这道题&#xff0c;哈哈&#xff0c;所以也写上一下
22、用最短的代码实现一个长度为m(6)且值都n(8)的数组
Array(6).fill(8)
这个够短了吧&#xff0c;好像是当初哪里看到的一个面试题&#xff0c;就自己想到了ES6的一些API
23、短路表达式
条件判断
var a &#61; b && 1
// 相当于
if (b) {
a &#61; 1
} else {
a &#61; b
}
var a &#61; b || 1
// 相当于
if (b) {
a &#61; b
} else {
a &#61; 1
}
24、Javascript版迷宫
逃出迷宫&#xff0c;2333
25、取出一个数组中的最大值和最小值
var numbers &#61; [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
var maxInNumbers &#61; Math.max.apply(Math, numbers);
var minInNumbers &#61; Math.min.apply(Math, numbers);
26、将argruments对象转换成数组
var argArray &#61; Array.prototype.slice.call(arguments);
或者ES6&#xff1a;
var argArray &#61; Array.from(arguments)
27、Javascript高逼格之Function构造函数
很多Javascript教程都告诉我们&#xff0c;不要直接用内置对象的构造函数来创建基本变量&#xff0c;例如var arr &#61; new Array(2); 的写法就应该用var arr &#61; [1, 2];的写法来取代。
但是&#xff0c;Function构造函数(注意是大写的Function)有点特别。Function构造函数接受的参数中&#xff0c;第一个是要传入的参数名&#xff0c;第二个是函数内的代码(用字符串来表示)。
var f &#61; new Function(&#39;a&#39;, &#39;alert(a)&#39;);
f(&#39;jawil&#39;); // 将会弹出窗口显示jawil
这种方式可以根据传入字符串内容来创建一个函数 是不是高大上&#xff1f;&#xff01;
28、从一个数组中找到一个数&#xff0c;O(n)的算法&#xff0c;找不到就返回 null。
正常的版本:
function find (x, y) {
for ( let i &#61; 0; i if ( x[i] &#61;&#61; y ) return i; } return null; } let arr &#61; [0,1,2,3,4,5] console.log(find(arr, 2)) console.log(find(arr, 8)) 有兴趣学习交流python 编程的伙伴可加群&#xff1a;1026352781 结果到了函数式成了下面这个样子(好像上面的那些代码在下面若影若现&#xff0c;不过又有点不太一样&#xff0c;为了消掉if语言&#xff0c;让其看上去更像一个表达式&#xff0c;动用了 ? 号表达式)&#xff1a; //函数式的版本 const find &#61; ( f &#61;> f(f) ) ( f &#61;> (next &#61;> (x, y, i &#61; 0) &#61;> ( i >&#61; x.length) ? null : ( x[i] &#61;&#61; y ) ? i : next(x, y, i&#43;1))((...args) &#61;> (f(f))(...args))) let arr &#61; [0,1,2,3,4,5] console.log(find(arr, 2)) console.log(find(arr, 8)) 如何读懂并写出装逼的函数式代码 小编是一名python开发工程师&#xff0c;这里有我自己整理了一套最新的python系统学习教程&#xff0c;包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编&#xff0c;并在后台私信小编&#xff1a;“01”即可领取