简体   繁体   English

Javascript-Object.create如何将函数作为参数?

[英]Javascript - How come Object.create takes function as a parameter?

How come newperson4 is created, and not errored? newperson4是如何创建的,并且没有出错? code below - 下面的代码-

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?

Every function is an object in javascript (like arrays are objects), not a primitive value. 每个函数都是javascript中的对象(就像数组是对象一样),而不是原始值。 It can have properties, and you can inherit from it. 它可以具有属性,并且您可以从中继承。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM