gpt4 book ai didi

node.js - `[Function]` 和 `[Function: Object]` - 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:13 25 4
gpt4 key购买 nike

var Cls = function(){}
var inst = new Cls()
var obj = {}

console.log(inst.constructor)
console.log(obj.constructor)

输出:

[Function]
[Function: Object]

[Function][Function: Object] 有什么区别?

最佳答案

简短回答:Javascript 没有类,它有可以实例化的函数。 var Cls 是一个匿名函数; Object 是一个命名函数。

<小时/>

长答案:

Javascript 函数可以实例化来创建对象,类似于在其他正式的面向对象语言中实例化类的方式。

话虽如此,您所看到的是使用匿名函数的结果。

输出的第一行仅显示 inst 的构造函数是一个函数。它没有名称,因此没有显示名称;它是匿名

第二行显示它是从 Object 函数创建的。

这里有两个变体,可以更好地表达我的观点:

var Cls = function Cls(){};
var inst = new Cls();

现在应该准确显示

[Function: Cls]

同样,你也可以这样做

var obj = new Object();

这类似于

var obj = {}

关于node.js - `[Function]` 和 `[Function: Object]` - 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29347469/

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