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

JS原型对象prototype

让我简单的为大家介绍一下原型对象prototype吧!

使用原型实现方法共享

1.构造函数通过原型分配的函数是所有对象所 共享的。

2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象

3.这个对象可以挂载函数,对象实例化不会多次创建原型上函数,节约内存

4.我们可以把那些不变的方法,直接定义在 prototype 对象上,这样所有对象的实例就可以共享这些方法

5.构造函数和原型对象中的this 都指向 实例化的对象

    function Person(name,age){this.name = namethis.age = age}// 方法可以共享Person.prototype.sing = function(){console.log("唱歌")}let zs = new Person("张三",18)zs.sing() // 唱歌let ls = new Person("李四",19)ls.sing() // 唱歌console.log(zs.sing === ls.sing) // true

构造函数里面的 this 指向实例对象

    let that function Person(name, age) {that = thisthis.name = namethis.age = age}// 构造函数里面的 this 就是实例对象 zslet zs = new Person("张三",18)console.log(that === zs) // true

原型对象里面的函数 this 指向的还是实例对象

    let that function Person(name) {this.name = name}Person.prototype.sing = function() {that = thisconsole.log("唱歌")}let zs = new Person("张三")zs.sing()console.log(that === zs) // true

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

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

相关文章:

  • nodejs+vue实验室上机管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
  • SpringBoot 注解开发
  • 使用持久卷部署 WordPress 和 MySQL
  • 2024年csdn最新最全的Postman接口测试: postman实现参数化
  • 开发知识点-uniapp微信小程序-开发指南
  • Vue3+Vite实现工程化,事件绑定以及修饰符
  • 20、动态路由_下滑线为前缀的目录
  • 中间件安全: Apache 远程代码执行 (CVE-2021-42013)
  • YOLOv8优化与量化(1000+ FPS性能)
  • python urllib open 头部信息错误
  • nn.KLDivLoss,nn.CrossEntropyLoss,nn.MSELoss,Focal_Loss
  • HTTP Error 500.31 - Failed to load ASP.NET Core runtime
  • 2023.11.17 关于 Spring Boot 日志文件
  • 【框架整合】Redis限流方案
  • NSS [鹤城杯 2021]Middle magic
  • Sqlite安装配置及使用
  • 参数估计(一)(点估计)
  • kubenetes-服务发现和负载均衡
  • docker的基本使用以及使用Docker 运行D435i
  • 如何看待人工智能行业发展
  • linux中实现自己的bash
  • 14 Go的类型转换
  • 多线程概述
  • AR贴纸特效SDK,无缝贴合的虚拟体验
  • Leetcode hot 100
  • 分类预测 | Matlab实现基于SDAE堆叠去噪自编码器的数据分类预测
  • 矩阵运算_矩阵的协方差矩阵/两个矩阵的协方差矩阵_求解详细步骤示例
  • 100天精通Python(可视化篇)——第108天:Pyecharts绘制多种炫酷词云图参数说明+代码实战
  • Spark 平障录
  • 基于一致性算法的微电网分布式控制MATLAB仿真模型