js 原型 和 原型链

function Person(name,age){

this.name = name

this.age = age

}

var p = new Person('张三',11)

//创建构造函数的时候,解析器会自动为构造函数创建prototype属性,prototype属性对应的对象就是原型对象

// prototype 翻译为 原型

// prototype 用于定义构造函数创建的实例对象 所共享的属性和方法

console.log(Person.prototype === p.proto) //true

// ECMAScript 标准 是 Object.getPrototypeOf()

console.log(Person.prototype === Object.getPrototypeOf(p)) //true

console.log(Person.hasOwnProperty('name')) //true

console.log(p.hasOwnProperty('name')) //true

Person.prototype.sex = '男'

console.log(Person.hasOwnProperty('sex')) //false

console.log(Person.prototype.hasOwnProperty('sex')) //true

console.log(p.hasOwnProperty('sex')) //false

console.log(p.proto.hasOwnProperty('sex')) //true

// 原型链是一种对象之间通过原型关系关联行程的链式结构
// 原型链的查找方向
// p.proto Person.prototype Object.prototype

相关推荐
HellowAmy8 小时前
我的C++规范 - 鸡蛋工厂
开发语言·c++·代码规范
叫我一声阿雷吧8 小时前
深入理解JavaScript作用域和闭包,解决变量访问问题
开发语言·javascript·ecmascript
froginwe118 小时前
Vue.js 事件处理器
开发语言
rainbow68898 小时前
C++STL list容器模拟实现详解
开发语言·c++·list
云中飞鸿8 小时前
VS编写QT程序,如何向linux中移植?
linux·开发语言·qt
Boop_wu8 小时前
简单介绍 JSON
java·开发语言
超龄超能程序猿8 小时前
Python 反射入门实践
开发语言·python
Katecat996638 小时前
Faster R-CNN在药片边缘缺陷检测中的应用_1
开发语言·cnn
晚风_END8 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构