果然javascript程序员思维广啊

2013 年 5 月 30 日
 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就是我们看到的结果。。。

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

同时欢迎补充~~~
8033 次点击
所在节点    JavaScript
36 条回复
alexzhou
2013 年 5 月 30 日
@11 竟然在黑我大JS ,js好的部分不可能这么少,坏的部分一大堆 哈哈
ghyghoo8
2013 年 5 月 30 日
大惊小怪啊~
skydiver
2013 年 5 月 30 日
@11 明白重点。。组成头部是啥意思?
archer1218
2013 年 5 月 30 日
@11 超级大亮,哈哈
spark
2013 年 5 月 30 日
@skydiver 变形金刚没看过?
cutehalo
2013 年 5 月 30 日
@skydiver 你来组成头部 我来组成屁股 233
heroicYang
2013 年 5 月 30 日
其实我想说的是,在多人参与的项目中最好不要使用类似大家整理出来的这些magic
Mutoo
2013 年 5 月 30 日
function max(a,b){return a>b&&a||b;}

[1,2,3,4,5].sort(function(){return Math.random()<.5?-1:1;}); //随机排序
luikore
2013 年 5 月 30 日
除了判断 IE 那个 (而且是对各 IE 效果不同... 判断 IE 统一用 if IE 注释就好了), 其他都是基础吧, 应该是看不懂的就别码了...
switch
2013 年 5 月 30 日
@Mutoo 取最大值有原生的 Math.max 函数的
skydiver
2013 年 5 月 31 日
楼主的几条,看一下混淆过的js代码就发现了。。很多类似的巧妙的写法
workaholic
2013 年 5 月 31 日
javascript之美就在这里,灵活
exoticknight
2013 年 5 月 31 日
总感觉可以这么写不太好。似乎很机智实际太诡异。
Golevka
2013 年 5 月 31 日
@11 高级黑...
riophae
2013 年 5 月 31 日
JavaScript 好玩的地方非常多, 我首先想到的是这个:
(function() {})();
ldb1992
2013 年 5 月 31 日
恩恩,不错

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

https://study.congcong.us/t/70664

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

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

© 2021 V2EX