我想知道以下内容与括号的作用之间的区别:
foo.bar.replace(a,b)
和
(foo.bar).replace(a,b)
在转到replace方法之前,括号是否要求首先计算包含的表达式?我在代码中看到了这一点,我正在维护并且好奇为什么它是必要的? E.G。
location.hash.replace(a,b)
和
(location.hash).replace(a,b)
答案 0 :(得分: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 强>