js原型基本使用

为什么要使用原型设计?

利用构造函数在不使用原型设计的时候,无论是字段还是函数属性在堆内存中都是各自独立占用一块内存,互不干扰。

试想有这样一种情形,各个实例需要共享同一个字段或者同一个函数属性,即各个实例针对这个属性共享一块内存。怎么办?

prototype:

引用类型中都有prototype属性,该属性指向一个对象。

1.1不设置原型时Student的内存表现


1.2不设置原型时Student的内存表现

给Student设置原型


设置原型后的内存表现

//访问原型

alert(stu1.__proto__==Student.prototype);//返回YES.

实例和类的原型是一个原型,只不过他们访问的方式不一样,原型都是obj。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容