我想知道以下和括号的作用之间的区别:
foo.bar.replace(a,b)
和
(foo.bar).replace(a,b)
括号是否要求在继续使用替换方法之前先评估包含的表达式?我在我正在维护的代码中看到了这一点,并且很好奇为什么它是必要的?例如
location.hash.replace(a,b)
和
(location.hash).replace(a,b)
我想知道以下和括号的作用之间的区别:
foo.bar.replace(a,b)
和
(foo.bar).replace(a,b)
括号是否要求在继续使用替换方法之前先评估包含的表达式?我在我正在维护的代码中看到了这一点,并且很好奇为什么它是必要的?例如
location.hash.replace(a,b)
和
(location.hash).replace(a,b)
您的示例中不需要它。
这个想法确实是在继续之前必须评估括号内的块。
在以下情况下需要它
(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