括号在javascript中的作用

括号在javascript中的作用,javascript,Javascript,我想知道以下内容与括号的作用之间的区别: foo.bar.replace(a,b) 及 在转到replace方法之前,括号是否要求首先计算包含的表达式?我在我维护的代码中看到了这一点,我很好奇为什么它是必需的?例如 location.hash.replace(a,b) 及 在您的示例中不需要它 实际上,在继续之前,必须对括号内的块进行求值 在这样的情况下,它是需要的 (new Date()).getMilliseconds() (如@Teemu所述,在这种情况下并不真正需要) 通常使用此

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

foo.bar.replace(a,b)

在转到replace方法之前,括号是否要求首先计算包含的表达式?我在我维护的代码中看到了这一点,我很好奇为什么它是必需的?例如

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

,我想知道它何时被应用的示例required@njorlsaga在对要在下一部分之前发生的事情进行分组时,就像计算<代码>(5+3).toString()@Gaby谢谢你的回答,在调用toFixed方法之前,我会根据需要使用括号进行计算。在我的示例中,
foo.bar.replace(a,b)
foo.bar需要计算为字符串。所以我可以假设,无论您在哪里使用临时变量,并将其指定为某种类型的foo,然后执行bar方法,只要foo是正确的类型,我就不需要临时变量吗?例如,
var foo=object.prop//prop是一个字符串;foo.bar()
var foo=object.prop//prop是一个函数foo().bar();//=object.prop().bar()
@njorsaga,1号。示例中的bar(
foo.bar.replace(a,b)
)不是一个方法,而是一个属性,因此无法执行它。在后面的示例中,将对象的方法指定给变量会更改其上下文。如果执行
ar foo=object.prop//prop是一个函数
,则在窗口上下文而不是
对象
上下文上调用
foo()
,这意味着如果原始
prop()
方法试图通过
this
访问
对象
的其他属性,它现在将找不到它们。。请参见第页的示例
var result = 5.3 + 2.9;
console.log( result.toFixed(1) );
console.log( (5.3 +2.9).toFixed(1) );