Javascript 我如何称呼';f、 原型&x27;正确地

Javascript 我如何称呼';f、 原型&x27;正确地,javascript,nomenclature,Javascript,Nomenclature,给定一个javascript函数 var f = function(); 据我所知,我将调用Object.getProtoypeOf(f)“f的原型” 原型的正确术语是什么 “用f作为构造函数构造的原型对象将得到”听起来有点冗长;) 请在此处查看: 这生产什么 第一个matt.prototype是未定义的。函数有一个原型对象,当该函数用作构造函数时,实例可以使用它的属性,但实例本身没有prototype属性 Object.getPrototypeOf(matt)查找真实的原型。如您所见,这与

给定一个javascript函数

var f = function();
据我所知,我将调用
Object.getProtoypeOf(f)
“f的原型”

原型的正确术语是什么

“用f作为构造函数构造的原型对象将得到”听起来有点冗长;)

请在此处查看:

这生产什么

第一个
matt.prototype
未定义的
。函数有一个原型对象,当该函数用作构造函数时,实例可以使用它的属性,但实例本身没有
prototype
属性

Object.getPrototypeOf(matt)
查找真实的原型。如您所见,这与
Person.prototype
相同。它允许您获得原型,而无需引用构造函数


最后,如果我们尝试
Object.getPrototypeOf(Person)
我们会得到一些奇怪的结果。我们的构造函数,毕竟是一个函数。将您创建的函数想象为一些
函数
构造函数的实例,它有自己的原型。因此,当您执行此操作时,您正在获取所有函数的prototype对象。

f的prototype有什么问题?它们之间存在差异,可使用
f.prototype!=Object.getPrototypeOf(f)
f.prototype
是通过
new f()
get创建的原型对象,但它不是f的prototype看看<代码>f.。\uuuu proto\uuuu==Object.getPrototypeOf(f)
。顺便说一句,你是想用
prototype
s做点什么,还是只是想知道它们?我不明白
f.\uu proto\uu==Object.getPrototypeOf(f)
与我的问题有什么关系。我不想知道原型是如何工作的,我想知道的是,讨论它们的正确术语是什么。f.constructor.prototype这与Object.getPrototypeOf(f)相同。也许你在这里发现你的问题的答案是准确的,但没有回答我的问题。我不想知道f.prototype和f的prototype有什么区别。我在寻找正确的术语来讨论它们。
var Person = function(name) {
    this.name = name;
}

Person.prototype.sayHi = function() {
    alert(this.name + ' says hi!');
};

var matt = new Person('Matt');
matt.sayHi() // alerts 'Matt says hi!'

console.log('matt.prototype',                matt.prototype);
console.log('Object.getPrototypeOf(matt)',   Object.getPrototypeOf(matt));
console.log('Person.prototype',              Person.prototype);
console.log('Object.getPrototypeOf(Person)', Object.getPrototypeOf(Person));