在进行说JS的原型之前,先说一个JS是基于什么开发的:
(1)JS是基于对象开发的
(2)JS是是一种脚本语言,即只要写出来就可以进行立即编译执行
(3)JS是基于原型继承的,这点很重要,下面的知识都是基于此点才能进行说明
在说今天的重点“什么是原型”之前,要先说两个东西:
(一)什么是原型属性
如上图,创建一个函数function Person() {},打开浏览器控制器,从监视器可看到图中,红框中Object即是Person的原型属性,简称原型,构造函数使用prototype来指向原型
(二)什么是原型对象
如上图,将上面的Person创建一个对象p,其中的Object即是对象p的原型对象,简称原型,实例对象使用__proto__来指向原型。
上面两点需要牢记,不能混淆!!!原型对构造函数而言的全称为原型属性;原型对实例对象而言的全称为原型对象;简称都为原型!下面是例图:
使用构造函数.prototype或实例对象.__proto__都可以访问到原型,后一种使用方法是使用对象的动态特性对原型进行修改,但禁止用于代码中,因为构造函数若创建出多个实例对象,其中一个实例对象对原型进行了修改,就会影响到其他对象。这样就会造成很多的不确定性、维护困难。
实例对象.__proto__一般用于调试,构造函数.prototype一般用于代码中
初级知识说完了,下一篇将将原型中级知识。
初级知识总结,上图必须牢记,是核心知识:
(1)构造函数用prototype指向原型,全称原型属性
(2)实例对象用__proto__指向原型,全称原型对象
(3)原型用constructor指向构造函数
JS - 原型基础
最新推荐文章于 2022-08-04 10:23:25 发布