JS原型对象通俗"唱法"
1.关于原型对象的重要知识点
首先要知道一个很重要的知识点,一句话:所有对象都有原型对象.
2. 对比其他语言的理解
原型对象,就是其它语言中的类中的静态属性和静态方法,总是是静态-static就对了.原理是: 内存中只有一份.
3. 在内存中的形象图:
首先,在产生js对象之前,我们需要创造一个构造函数(这都不知道,那就不要往下看了),如下:
function Person(name_, age_) {
this.name = name_;
this.age = age_;
}
下面,我们就要new 对象了,这里,我们new三个(Person)对象,"张三" "李雷" "韩梅梅",他们来自同一个构造函数Person:

内存中就这样了,每个对象,都有自己的 name, age 内存.这里new了多少个对象,就要开辟多少块name, age内存.
看到这,应该还是比较好理解的. 下面我们添加一条属性.location属性,如下:
function Person(name_, age_) {
this.name = name_;
this.age = age_;
this.location = "地球";
}
这时候 我们在new这三个人. 内存情况如下:

这里我们看,三个对象都有一个"地球"的内存空间. 这里你要动动大脑了, 三个人都有地球的内存,我们是不是可以这样呢?

你看这样好不好呢? 这样只需要一个地球,大家都可以用了. 看到这,好吧,公用的那个空间如果是个对象的话,就是所谓的原型对象了.饿?就这样?
是的,就这样.

4. 从代码的层次上介绍原型对象.
上图是内存中的对象,我们现在从代码的从面操作.
[code]
function Person(name_, age_) {
this.name = name_;
this.age = age_;
this.location = "地球";
}
相关文章
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
这篇文章主要介绍了使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-01-01
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
本篇文章是对使用javascript:将其它类型值转换成布尔类型值的解决方法进行了详细的分析介绍。需要的朋友参考下2013-05-05
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
这篇文章主要介绍了JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内),需要的朋友可以参考下2015-12-12


最新评论