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

相关推荐
小松学前端13 分钟前
第六章 6.1 字符串常用方法
java·开发语言
魔法自动机13 分钟前
QT| QT配置CUDA
开发语言·数据库·qt
启山智软16 分钟前
Java微服务商城系统的特点有哪些
java·大数据·开发语言·人工智能·微服务·架构·ux
CodeWithMe19 分钟前
【C/C++】initializer_list
开发语言·c++
RW~33 分钟前
Java 远程url文件sha256加密
java·开发语言
林小果11 小时前
建造者模式
java·开发语言·设计模式·建造者模式
吾爱星辰1 小时前
【解密 Kotlin 扩展函数】扩展函数的创建(十六)
java·开发语言·jvm·kotlin
一雨方知深秋1 小时前
Element-plus安装及其基础组件使用
javascript·css·html·vue3·element-plus
鸽芷咕1 小时前
Python 知识宝库 —— 数据可视化:matplotlib 与 seaborn 的使用技巧
开发语言·python
2301_789169541 小时前
react crash course 2024(9) proxying
前端·javascript·react.js