5

我想知道以下和括号的作用之间的区别:

foo.bar.replace(a,b)

(foo.bar).replace(a,b)

括号是否要求在继续使用替换方法之前先评估包含的表达式?我在我正在维护的代码中看到了这一点,并且很好奇为什么它是必要的?例如

location.hash.replace(a,b)

(location.hash).replace(a,b)
4

1 回答 1

6

您的示例中不需要它。

这个想法确实是在继续之前必须评估括号内的块。

在以下情况下需要它

(new Date()).getMilliseconds()

正如@Teemu 所指出的那样,在这种情况下并不需要


通常使用这种语法来避免使用临时变量。

var result = 5.3 + 2.9;
console.log( result.toFixed(1) );

可以变成

console.log( (5.3 +2.9).toFixed(1) );

如果您要使用5.3 + 2.9.toFixed(1)toFixed(1)仅应用于 2.9,则返回一个字符串,然后将其与 5.3 连接,结果将是5.32.9

于 2013-01-14T15:02:40.790 回答