javascript - 如果我们从函数构造函数创建一个名为 'a' 的对象,那么为什么 'a' 不是 Function 的实例?

标签 javascript function function-constructor

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
console.log(myFather instanceof person); //true
console.log(myFather instanceof Object); //true
console.log(myFather instanceof Function); //false

您好,在本例中,我们从函数构造函数创建了一个对象:“person”。

JavaScript 中的每个函数都是函数构造函数的一个实例。 为什么 myFather 不是 Function 的实例?

最佳答案

myFatherperson 的对象实例,这就是为什么它对 myFather instanceof Object 返回 true,但对 myFather instanceof 返回 false Function 因为它不是函数而是对象,因此您不能再次调用 myFather 来实例化另一个对象。实际上 person 是 Function 的一个实例。当您调用 new person 时,会返回一个普通对象并将其存储在 myFather 中。

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
console.log(myFather instanceof person); //true
console.log(myFather instanceof Object); //true
console.log(myFather instanceof Function); //false
console.log(person instanceof Function); //true

关于javascript - 如果我们从函数构造函数创建一个名为 'a' 的对象,那么为什么 'a' 不是 Function 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44986476/

相关文章:

javascript - 在列表中显示按钮 - AngularJS

javascript - 为什么我不能将 highcharts.chart 放入渲染中?

javascript - 我可以同步多个图像加载调用吗?

意外设置 Javascript 对象实例属性

javascript - 为什么 JS 中的一些函数有 prototype.constructor prop 而另一些没有?这些功能有什么区别?

javascript - 如何从具有 css 过滤器的 html 创建图像或 pdf?

javascript - 使用 PHP 检测输入内容以重定向到特定页面

php - 如何在外部调用PHP函数

javascript - 当输入的 GCD 为 1 时尝试隐藏跨度(包括代码)

javascript - console.log() 一个对象不记录通过原型(prototype)在节点 js 控制台中添加的方法。或者如何打印原型(prototype)?