我正在浏览jQuery代码$.extend()
我发现了这个:
if ( (options = arguments[ i ]) != null ) {
// Extend the base object
我想知道如果我们将options = arguments[i]
移出括号会发生什么?
答案 0 :(得分:1)
a = b
将b
分配给a
并返回b
。因此,(a = b) != c
会将b
分配给a
,然后检查b != c
。括号是因为否则,!=
将在=
之前由于运算符优先级而得到评估(比较在赋值之前进行评估 - source)
答案 1 :(得分:0)
分配的优先级低于平等,这意味着
arguments[i] != null
将在
之前处理options = arguments[i]
给出与预期不同的结果。 要更好地理解它,请查看此处并阅读有关运算符优先级的信息
答案 2 :(得分:0)