Javascript - Object.create 为什么将函数作为参数?

标签 javascript object prototype

为什么newperson4被创建,并且没有出错?下面的代码-

function person() {
}

var p = new person();
var q = null;
var r = "some string";

var newperson1 = Object.create(p); //Runs fine.
var newperson2 = Object.create(q); //Runs fine.
var newperson3 = Object.create(r); //Errors - Object.prototype requires to be an Object or Null only. Fine!
var newperson4 = Object.create(person); //Based on above error, person is a function, not an object. How is it working?

最佳答案

每个函数都是 JavaScript 中的对象(就像数组是对象一样),而不是原始值。它可以有属性,并且您可以继承它。

关于Javascript - Object.create 为什么将函数作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35381971/

相关文章:

javascript - 将数组转换为对象(指现有的帖子)

java - 使用 Rally JAVA Rest API 2.0 创建新计划时出现的问题

python - 实现原型(prototype)或实例化类对象

javascript - for循环索引如何提升原型(prototype)链?

javascript - 在 javascript 中,为什么在重置函数原型(prototype)后也需要重置函数原型(prototype)构造函数?

javascript - 为什么这个二维数组会出错?

javascript - 如何在 javascript 中获取上一小时、上个月和昨天?

javascript - 改变类变量的值

javascript - 响应式谷歌可视化数据表

javascript - 使用 jQuery .class 选择器获取数据属性