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