问题标签 [associativity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
60951 浏览

associativity - 什么是运算符的关联性,为什么它很重要?

什么是关联性(对于操作员),为什么它很重要?

更新:运算符关联性

0 投票
6 回答
57326 浏览

c# - C# 条件 AND (&&) OR (||) 优先级

我们一直在我的工作中陷入不必要的编码争论。今天我问条件 AND (&&) 或 OR (||) 是否具有更高的优先级。我的一位同事坚持说他们有相同的优先级,我有疑问,所以我查了一下。

根据 MSDN,AND (&&) 的优先级高于 OR (||)。但是,你能向持怀疑态度的同事证明这一点吗?

http://msdn.microsoft.com/en-us/library/aa691323(VS.71).aspx

所以我的问题是你如何用代码证明 AND (&&) 比 OR (||) 具有更高的优先级?如果你的回答是没关系,那为什么它是用这种语言构建的呢?

0 投票
4 回答
1167 浏览

perl - Perl 如何决定在表达式中计算项的顺序?

给定代码:

我希望$x180

但相反的是30;但是,如果我更改条款的顺序:

我明白了180。我感到困惑的原因是perldoc perlop说得很清楚:

TERM 在 Perl 中具有最高优先级。它们包括变量、引号和类似引号的运算符、括号中的任何表达式,以及任何参数被括号括起来的函数。

由于($x += 5)是在括号中,它应该是一个术语,因此无论表达式的顺序如何,都首先执行。

0 投票
5 回答
2431 浏览

c# - C# 中的三元运算符关联性 - 我可以依赖它吗?

啊,你不只是喜欢一个好的三元虐待吗?:) 考虑以下表达式:

对于那些现在完全困惑的人,我可以告诉你,这评估为true。换句话说,它等价于:

但这可靠吗?我可以确定在某些情况下它不会变成这样:

有人可能会说 -好吧,那就加括号或者干脆不使用它 - 毕竟,众所周知的事实是三元运算符是邪恶的!

当然,它们是,但在某些情况下它们实际上是有意义的。对于好奇的人 - 我正在编写通过一系列属性比较两个对象的代码。如果我像这样冷写它会很好:

简洁明了。但它确实取决于在第一种情况下工作的三元运算符关联性。括号只会把它做成意大利面。

那么 - 这是在任何地方指定的吗?我找不到它。

0 投票
3 回答
9222 浏览

c - C中的运算符关联性特别是前缀和后缀递增和递减

在 C 操作中,关联性就是递增、递减和赋值。

完整列表可在此处找到Wikipedia Operators in C

我的问题是当我们有

当后缀增量运算符应该在直接赋值之前发生时,为什么 b++ 等于 1?

当它们都在赋值之前,为什么前缀增量运算符与后缀不同?

我很确定在操作关联性方面我不了解一些非常重要的东西。

0 投票
3 回答
458 浏览

perl - 除非和“如果!”的不同行为如何?语句影响标量上下文中的范围运算符?

http://novosial.org/perl/one-liner/上,我发现了以下两个 one-liners。输出不同,因为unless语句不同于if !(由于关联性和优先规则)。

- 语句的不同行为如何if !使第二个单行输出一个空行?

0 投票
1 回答
388 浏览

ruby - 为什么 Ruby 中的 `"repeat" * 3` 与 `3 * "repeat"` 不一样?

当我输入这个:

我得到:

但如果我这样做,它就不起作用:

为什么?

0 投票
2 回答
13206 浏览

prolog - Prolog 中的匹配元组

为什么 Prolog 匹配(X, Xs)包含更多元素的元组?一个例子:

实际上这是我想要实现的目标,但似乎很可疑。有没有其他方法可以将术语的连词视为 Prolog 中的列表?

0 投票
4 回答
1129 浏览

lambda-calculus - Lambda 演算中的结合性

我正在研究The Lambda calculus书的练习题。我被困的一个问题是证明以下几点:表明应用程序不是关联的;事实上,x(yz) 不等于 (xy)z

这是我到目前为止所做的工作:

它是否正确?请帮我理解。

0 投票
2 回答
167 浏览

php - 这个 PHP 函数返回什么?

public function add($child){ return $this->children[]=$child; }

顺便说一句,这是 Dagfinn Reiersol 的 PHP in Action 的摘录。根据这本书,这会返回 $child,但它不应该在分配成功的情况下返回 true,否则返回 false?

提前致谢