如果我遗漏了任何重要的甚至愚蠢的内容,请原谅。我正在尝试从对象打印构造函数的名称。我采用了两种方法。
第一种方法的代码如下,
var CF = function () {
p1 = "";
p2 = "";
}
var cf1 = new CF();
cf1.constructor.name
输出:
""
第二个代码,
function CF() {
p1 = "";
p2 = "";
}
var cf1 = new CF();
console.log(cf1.constructor.name);
输出:
CF
我想你已经明白我想说的了。第一个 CF
的对象构造函数名称为 ""
,第二个输出为 CF
。
我试图知道下面的区别
var CF = function() { }
typeof CF;
function CF() { };
typeof CF
但不幸的是他们都输出了
"function"
为什么第一种方法会出现这种行为?有什么区别?
(我使用的是 Chrome 控制台)
最佳答案
第一个构造函数是匿名函数,这意味着它没有名称。第二个构造函数有一个允许打印其构造函数的名称。
关于javascript - 对 javascript 中的构造函数感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169428/