当前位置: 首页 > news >正文

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       
        

http://www.lryc.cn/news/262305.html

相关文章:

  • 如何利用SD-WAN节省运维成本和简化运维工作?
  • 在工作中使用CHAT提高效率
  • Maven 项目的三种打包方式与 pom.xml 文件中项目描述
  • 【普中】基于51单片机简易计算器数码管显示设计( proteus仿真+程序+实物演示+讲解视频)
  • 【Android】DeepLink
  • 微服务Redis-Session共享登录状态
  • 30道C++ 基础高频题整理(附答案背诵版)
  • 【Spark面试】Spark面试题答案
  • Axure的动态面板
  • 【STM32】STM32学习笔记-对射式红外传感器计次 旋转编码器计次(12)
  • 后端项目操作数据库-中枢组件Service调用Mapper实现增删改查-实例
  • kafka学习笔记--节点的服役与退役
  • 2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和的最大值。 来自字节。
  • libxls - 编译
  • 自建私有git进行项目发布
  • 华为HCIP认证H12-821题库上
  • Web安全漏洞分析—文件包含
  • C++入门【9-C++循环】
  • Python3 数字(Number) ----20231215
  • PyQt6 QToolBar工具栏控件
  • nodejs+vue+微信小程序+python+PHP基于大数据的银行信用卡用户的数仓系统的设计与实现-计算机毕业设计推荐
  • EMC RI/CI测试方案助您对抗电磁设备干扰!
  • 【机器学习】数据降维
  • vue3路由跳转及传参
  • cesium 自定义贴图,shadertoy移植教程。
  • 引用阿里图标库,不知道对应的图标是什么,可在本地显示图标ui,再也不要担心刚来不知道公司图标对应的是什么了
  • HandlerMethodArgumentResolver用于统一获取当前登录用户
  • 记录 | mac打开终端时报错:login: /opt/homebrew/bin/zsh: No such file or directory [进程已完成]
  • anolisos8.8安装显卡+CUDA工具+容器运行时支持(containerd/docker)+k8s部署GPU插件
  • Golang 链表的创建和读取 小记