首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript原型是什么类型的对象?

Javascript原型是什么类型的对象?
EN

Stack Overflow用户
提问于 2014-01-23 04:31:42
回答 1查看 2.7K关注 0票数 1
代码语言:javascript
复制
function Person(name) {
  this.name = name;
}
var rob = new Person('Rob');
  • 人是一种功能。
  • 人是一个对象。
  • 人不是人。
  • 罗伯是个目标。
  • 罗伯的原型(__proto__)是Person.prototype,所以罗伯是一个人。

代码语言:javascript
复制
console.log(Person.prototype);

输出

代码语言:javascript
复制
Person {}

Person.prototype是一个对象吗?阵列?一个人?

如果它是一个对象,那么这个原型也有一个原型吗?

更新我从这个问题中学到的东西(2014年1月24日星期五,上午11:38:26 )

代码语言:javascript
复制
function Person(name) {
  this.name = name;
}
var rob = new Person('Rob');

// Person.prototype references the object that will be the actual prototype (x.__proto__)
// for any object created using "x = new Person()". The same goes for Object. This is what
// Person and Object's prototype looks like.
console.log(Person.prototype); // Person {}
console.log(Object.prototype); // Object {}
console.log(rob.__proto__); // Person {}
console.log(rob.__proto__.__proto__); // Object {}

console.log(typeof rob); // object
console.log(rob instanceof Person); // true, because rob.__proto__ == Person.prototype
console.log(rob instanceof Object); // true, because rob.__proto__.__proto__ == Object.prototype

console.log(typeof rob.__proto__); // object
console.log(rob.__proto__ instanceof Person); // false
console.log(rob.__proto__ instanceof Object); // true, because rob.__proto__.__proto__ == Object.prototype
  • 原型只是普通的对象。
  • 类型对于确定某物是对象还是原语(以及它是什么类型的原语)是有用的,但是对于确定它是哪种对象没有用。
  • LHS实例RHS如果RHS.prototype出现在LHS的原型链中,则返回true。
EN

回答 1

Stack Overflow用户

发布于 2014-01-23 04:42:08

代码语言:javascript
复制
typeof Person === "function"
typeof Person.prototype === "object"
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21299416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档