
1 sarvatathagata 2020-04-30 17:20:18 +08:00 break 是一条语句,不能被转换成一个值。然而&&操作符的两侧必须是值 |
2 kiracyan 2020-04-30 17:36:24 +08:00 这编译报错吧 |
3 phpfpm 2020-04-30 17:38:04 +08:00 看了你的头像,我发出了沉思:可能你入错行了。。 |
4 DL9412 2020-04-30 17:38:10 +08:00 个人理解,逻辑运算符两端都应该是一个值,或者能输出值的表达式。break,return,continue 都没法转换为值。 你 Boolean(break)也会报一样的错误。 看见一个类似的问题 http://stackmirror.caup.cn/page/rh50ycxwvuig |
5 liuxiaohua 2020-04-30 17:38:22 +08:00 楼主这是哪门子的语法 第一次见 |
6 kumasama 2020-04-30 17:45:14 +08:00 哪有这种语法,不加&&多简洁 |
7 Cielos OP |
8 hbolive 2020-04-30 17:45:51 +08:00 头像把我吸引进来的。。 |
9 annielong 2020-04-30 17:47:13 +08:00 老老实实按语法走不好吗、 |
10 sneezry 2020-04-30 17:47:57 +08:00 via iPhone 是参考了 make && make install 么 (doge |
11 vicnicLight007 2020-04-30 17:49:13 +08:00 请给我你头像的高清大图链接,谢谢 |
12 krixaar 2020-04-30 17:51:11 +08:00 我大概明白了,因为 true && expr2 返回 expr2,所以楼主认为 true && break;返回 break;,然后 for 循环就被 break 了 break;是个 statement (语句)不是 expression (表达式),所以不能用在这里 参考: https://developer.mozilla.org/zh-CN/docs/Web/Javascript/Guide/Expressions_and_Operators |
14 LG3xFA6kpn88HxEW 2020-04-30 17:57:55 +08:00 大大大(指代码 doge |
15 fengtons 2020-04-30 18:12:07 +08:00 via Android 这种写法估计是 SHELL 写多了 |
16 InkStone 2020-04-30 18:14:48 +08:00 其实如果 break 不是一个语句是一个表达式的话,这样写问题不大。 毕竟 C 的短路求值是标准行为。 |
17 autoxbc 2020-04-30 18:50:43 +08:00 1. 代码要语义化,看起来在做的事情就应该是你真的希望做的事情 2. 不要利用副作用,副作用可能被标准化,也可能不是 |
18 liuzhiyong 2020-04-30 19:42:35 +08:00 劝告楼主不要这样操作,代码首要任务是可读性,况且你这奇怪写法还没有性能提升。 |
19 Takamine 2020-04-30 21:09:21 +08:00 我记得 PHP 里面有这种写法来着,不如试试上手世界上最好的语言。:doge: |
20 lizz666 2020-04-30 21:26:04 +08:00 |
21 xingheng 2020-04-30 23:58:53 +08:00 Hello, world! Goodbye, world! |
22 cigarzh 2020-05-02 12:22:13 +08:00 shell 写多了…… |