1
deathfang 2013-05-30 16:12:54 +08:00
|
2
subpo 2013-05-30 16:19:33 +08:00
除了第一个 我还以为都是常用的..
|
3
DaniloSam 2013-05-30 16:29:24 +08:00
除了第一个 我还以为都是常用的..
|
4
NemoAlex 2013-05-30 16:36:20 +08:00
除了4以外其余的都是挺常用的吧
还有 Element && Element.onclick = function(){...}; 之类的写法 不过我觉得最能提现 JS 和 DOM 飘逸的还是 Element.innerHTML++; 哈哈 |
5
tulike1 2013-05-30 16:47:14 +08:00
取整: ~~(10.112) //=> 10
|
6
zhujinliang OP |
7
zhujinliang OP @tulike1 这个运算符第一次见呢
|
8
cutehalo 2013-05-30 16:58:25 +08:00
木有见过第四个...
看标题脑补成精神病人思维广了... |
9
NemoAlex 2013-05-30 17:02:15 +08:00
@zhujinliang 什么陷阱求解惑
|
10
switch 2013-05-30 17:14:49 +08:00
取整還有另一個:10.112 | 0
|
11
otakustay 2013-05-30 17:17:09 +08:00
第4个用来生成超大对象测内存用超好,这些都是js的常识了,我在和别人分享js的时候都有提到
https://skydrive.live.com/redir.aspx?resid=5AF9669191A78C07!584 |
12
middleware 2013-05-30 17:22:57 +08:00 1
① 最初关于 s-exp 的论文就定义了这种用法。
③ 这是 ① 的必然推论。 Lua 里 ①③ 都有。 |
13
songpengf117 2013-05-30 17:23:36 +08:00 4
1. 取整同时转成数值型:
'10.567890'|0 //结果: 10 '10.567890'^0 //结果: 10 -2.23456789|0 //结果: -2 ~~-2.23456789 //结果: -2 2. 日期转数值: var d = +new Date(); //1295698416792 3. 类数组对象转数组: var arr = [].slice.call(arguments) 4. 漂亮的随机码: Math.random().toString(16).substring(2); //14位 Math.random().toString(36).substring(2); //11位 5. 合并数组: var a = [1,2,3]; var b = [4,5,6]; Array.prototype.push.apply(a, b); uneval(a); //[1,2,3,4,5,6] 6. 用0补全位数: function prefixInteger(num, length) { return (num / Math.pow(10, length)).toFixed(length).substr(2); } 7. 交换值: a= [b, b=a][0]; 8. 将一个数组插入另一个数组的指定位置: var a = [1,2,3,7,8,9]; var b = [4,5,6]; var insertIndex = 3; a.splice.apply(a, Array.concat(insertIndex, 0, b)); // a: 1,2,3,4,5,6,7,8,9 9. 删除数组元素: var a = [1,2,3,4,5]; a.splice(3,1); 10. 快速取数组最大和最小值 Math.max.apply(Math, [1,2,3]) //3 Math.min.apply(Math, [1,2,3]) //1 11. 条件判断: var a = b && 1; //相当于 if (b) { a = 1; } else { a = b; } var a = b || 1; //相当于 if (b) { a = b; } else { a = 1; } 12. 判断IE(两种方法): var ie = /*@cc_on !@*/false; var ie = !-[1,]; http://blog.samxy.com/archives/307.html |
14
chilaoqi 2013-05-30 17:28:53 +08:00 1
所以 ...js是魔幻语言,天天各种新奇的花式
|
15
alsotang 2013-05-30 17:30:20 +08:00
这正是 JS 语言设计得差劲的表现,很多常见需求都要 work around。
|
16
clowwindy 2013-05-30 18:33:13 +08:00
字符串转数字 +"100"
|
17
2code 2013-05-30 19:50:44 +08:00
大家看过这个没有 [WAT](https://www.destroyallsoftware.com/talks/wat)
|
18
11 2013-05-30 19:56:02 +08:00 4
我来组成头部
|
22
ghyghoo8 2013-05-30 20:10:29 +08:00
大惊小怪啊~
|
24
archer1218 2013-05-30 20:44:47 +08:00
@11 超级大亮,哈哈
|
27
heroicYang 2013-05-30 21:05:11 +08:00
其实我想说的是,在多人参与的项目中最好不要使用类似大家整理出来的这些magic
|
28
Mutoo 2013-05-30 21:11:58 +08:00
function max(a,b){return a>b&&a||b;}
[1,2,3,4,5].sort(function(){return Math.random()<.5?-1:1;}); //随机排序 |
29
luikore 2013-05-30 21:20:34 +08:00
除了判断 IE 那个 (而且是对各 IE 效果不同... 判断 IE 统一用 if IE 注释就好了), 其他都是基础吧, 应该是看不懂的就别码了...
|
31
skydiver 2013-05-31 00:09:13 +08:00
楼主的几条,看一下混淆过的js代码就发现了。。很多类似的巧妙的写法
|
32
workaholic 2013-05-31 07:54:00 +08:00
javascript之美就在这里,灵活
|
33
exoticknight 2013-05-31 11:29:09 +08:00
总感觉可以这么写不太好。似乎很机智实际太诡异。
|
35
riophae 2013-05-31 18:08:55 +08:00
JavaScript 好玩的地方非常多, 我首先想到的是这个:
(function() {})(); |
36
ldb1992 2013-05-31 19:10:43 +08:00
恩恩,不错
|