![]() | 1 deathfang 2013-05-30 16:12:54 +08:00 |
![]() | 2 subpo PRO 除了第一个 我还以为都是常用的.. |
![]() | 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 ![]() ① 最初关于 s-exp 的论文就定义了这种用法。 ③ 这是 ① 的必然推论。 Lua 里 ①③ 都有。 |
![]() | 13 songpengf117 2013-05-30 17:23:36 +08:00 ![]() 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 ![]() 所以 ...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 ![]() 我来组成头部 ![]() |
![]() | 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 恩恩,不错 |