鉴于以下内容:
function init() { return 1; }
解析器如何解析
new init();
我的意思是为什么init()
函数与new
运算符一起使用?为什么函数没有独立调用?
答案 0 :(得分:0)
为什么不单独调用函数?
仅仅因为这是规则。 new
,init
和参数括号是四个单独的标记,它们一起形成一个构造函数调用。如果new
不存在,则三个标记将形成正常的函数调用。
要单独调用它,您可以编写new (init())
或new (init())()
(当然不工作,因为init()
不返回构造函数。)