倒数第二个new Foo().getName(),这块不是很明白?

来源:7-2 一道函数考察基本功

慕九州8324772

2018-08-28

倒数第二个new   Foo().getName(),有两个运算符new和点,new Foo()可以看作是带参数是19,不带参数是18,点也是19这块不是很明白?

写回答

1回答

DearestJW

2018-08-31

.运算符的优先级是19,就是指.会优于其他运算符之前执行,但是执行点的时候,是按照点前和点后的表达式依次执行的,因为Foo后面有个括号,所以new运算符是归Foo()这个函数的,所以按照优先级顺序执行就是:点运算符前的new Foo()先执行,再执行点运算符后的 getName()。

1
2
DearestJW
回复
oO小小的宇Oo
是的,是需要先计算乘号左面,但是我所说的乘号左边的表达式在你这个情况下就是一个2,而并非你说的1+2,所以直接就是2*3。但是如果乘号前面是一个函数a(),那就需要先执行a(),再相乘。
2019-01-25
共2条回复

前端跳槽面试必备技巧 面试官全流程指导

一门让你能成功获取前端 Offer 的课程, 不只是技术,面试“技巧”也至关重要

4836 学习 · 830 问题

查看课程