果然javascript程序员思维广啊

2013-05-30 16:07:08 +08:00
 zhujinliang
① 使用 || 从多个变量中取出第一个可用变量
比如 var wantFruit = apple || pear || ... || grape;

依据逻辑或判断规则,不过js特殊地返回原值而不是逻辑型

② 转为文本:var str = val + '';

依据隐式转换规则

③ 转为逻辑型: var bool = !!val;

④ 取重复文本: var str = Array(9).join('abc'); // 输出 'abc' x 8

原理:创建一个含9个元素的数组,然后用'abc'作为链接字符串把数据连接成文本,实际结果是
undefined + 'abc' + undefined + 'abc' + ... + undefined +'abc' + undefined ,去掉undefined就是我们看到的结果。。。

这都是谁想出来的用法。。。

同时欢迎补充~~~
6811 次点击
所在节点    JavaScript
36 条回复
alexzhou
2013-05-30 20:09:35 +08:00
@11 竟然在黑我大JS ,js好的部分不可能这么少,坏的部分一大堆 哈哈
ghyghoo8
2013-05-30 20:10:29 +08:00
大惊小怪啊~
skydiver
2013-05-30 20:12:21 +08:00
@11 明白重点。。组成头部是啥意思?
archer1218
2013-05-30 20:44:47 +08:00
@11 超级大亮,哈哈
spark
2013-05-30 20:55:54 +08:00
@skydiver 变形金刚没看过?
cutehalo
2013-05-30 21:04:36 +08:00
@skydiver 你来组成头部 我来组成屁股 233
heroicYang
2013-05-30 21:05:11 +08:00
其实我想说的是,在多人参与的项目中最好不要使用类似大家整理出来的这些magic
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;}); //随机排序
luikore
2013-05-30 21:20:34 +08:00
除了判断 IE 那个 (而且是对各 IE 效果不同... 判断 IE 统一用 if IE 注释就好了), 其他都是基础吧, 应该是看不懂的就别码了...
switch
2013-05-30 21:27:58 +08:00
@Mutoo 取最大值有原生的 Math.max 函数的
skydiver
2013-05-31 00:09:13 +08:00
楼主的几条,看一下混淆过的js代码就发现了。。很多类似的巧妙的写法
workaholic
2013-05-31 07:54:00 +08:00
javascript之美就在这里,灵活
exoticknight
2013-05-31 11:29:09 +08:00
总感觉可以这么写不太好。似乎很机智实际太诡异。
Golevka
2013-05-31 11:39:05 +08:00
@11 高级黑...
riophae
2013-05-31 18:08:55 +08:00
JavaScript 好玩的地方非常多, 我首先想到的是这个:
(function() {})();
ldb1992
2013-05-31 19:10:43 +08:00
恩恩,不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/70664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX