gpt4 book ai didi

JavaScript 返回方法

转载 作者:搜寻专家 更新时间:2023-11-01 05:14:53 24 4
gpt4 key购买 nike

我是 JavaScript 新手。我无法理解为什么函数在以下示例中返回 T1 对象(而不仅仅是字符串“hi”)。

 function T1(){
return 'hi';
}
function T(){
return new T1();
}
T();

输出:T1

并在下面的例子中返回函数

 function T1(){
return function(){ return 'hi'; }
}
function T(){
return new T1();
}
T();

输出:function (){ return 'hi' }

为什么第一个示例返回一个对象(不是字符串“hi”,预期会发生什么)而第二个示例返回从第一个函数返回的函数体(不是预期的对象)?

请解释这个结果。谢谢)

最佳答案

new 运算符返回由运算符创建的对象,除非构造函数返回不同的对象。构造函数的任何非对象返回值都将被忽略,这就是为什么当您返回 hi 时看不到它。

the specification 的第 13.2.2 节(“[[构造]]”) ,第 11.2.2 节( 运算符”)引用了它。

关于JavaScript 返回方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com