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

js的原型

原型:

1定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。

通过该构造函数产生的对象,以继承该原型的属性和方法。原型也是对象。 

2.利用原型特点和概念,可以提取共有属性。

3.对象如何查询原型 --> 隐式属性__proto__

4.对象如何查询对象的构造函数 --> constructor

例:

Person.prototype.lastName = "Deng";
function Person(name){this.name = name;
}
var person = new Person("ken");
console.log(person.lastName);//Deng

原型的过程:

Person.prototype.name = "sunny";function Person(){//就是这样的过程//var this = {//    __proto__ : Person.prototype//}
};var person = new Person();
console.log(person.name); //sunny//原型的属性改变,person对象是否会改变
Person.prototype.name = "cherry";
//会改变
console.log(person.name); //cherry

原型整个对象改变:

Person.prototype.name = "sunny";function Person(){//var this = {__proto__:Person.prototype}
}var person = new Person();Person.prototype = { name : "cherry"
};var person2 = new Person();
console.log(person.name) //sunny
console.log(person2.name) //cherry

答案显然易见:不会改变。

//类似于这下面这样
var obj = {name:"a"};
var obj1 = obj;
obj = {name:"b"}; Person.prototype = {name:"a"};
__proto__ = Person.prototype;
Person.prototype = {name:"b"};

因为Person.prototype和__proto__指向的对象不一样了

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

相关文章:

  • FastAPI 学习之路(三十七)元数据和文档 URL
  • C 语言结构体
  • MySQl高级篇-主从复制
  • JMeter案例分享:通过数据验证的错误,说说CSV数据文件设置中的线程共享模式
  • 数学建模·Topsis优劣解距离法
  • 数学建模中常用的数据处理方法
  • C嘎嘎:函数模版和类模版
  • 使用 Apache Pulsar 构建弹性可扩展的事件驱动应用
  • 【国产开源可视化引擎Meta2d.js】视频
  • 零信任网络安全
  • Python酷库之旅-第三方库Pandas(022)
  • 数据建设实践之大数据平台(一)准备环境
  • VUE2用elementUI实现父组件中校验子组件中的表单
  • 人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解
  • UDP网络通信(发送端+接收端)实例 —— Python
  • 从零开始实现大语言模型(五):缩放点积注意力机制
  • PTA 7-15 希尔排序
  • 【密码学】分组密码的设计原则
  • 深入解析【C++ list 容器】:高效数据管理的秘密武器
  • NFS服务器、autofs自动挂载综合实验
  • 自动驾驶事故频发,安全痛点在哪里?
  • SpringSecurity框架【认证】
  • python安全脚本开发简单思路
  • WPF学习(4) -- 数据模板
  • GuLi商城-商品服务-API-品牌管理-JSR303分组校验
  • PyTorch DataLoader 学习
  • TCP传输控制协议二
  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(五)-同时支持无人机和eMBB用户数据传输的用例
  • 使用F1C200S从零制作掌机之debian文件系统完善NES
  • Vue 3 与 TypeScript:最佳实践详解