js中什么是原型


本文摘自PHP中文网,作者anonymity,侵删。

每个函数都有prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象的用途是包含特定类型的所有实例共享的属性和方法,即这个原型对象是用来给实例共享属性和方法的。
而每个实例内部都有一个指向原型对象的指针。

原型模式

使用构造函数的问题是,每个方法都要在每个实例上重新创建一遍,即在构造函数的不同实例上的同名函数是不相等的。而我们创建每个构造函数都有一个prototype(原型)属性,这个属性是个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法,我们使用这个原型对象来共享实例的属性和方法的模式就叫原型模式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//原型模式创建对象

function Person(){

 }

Person.prototype.name='钟女士';

Person.prototype.age=80;

Person.prototype.gender='女';

var person1= new Person();

console.log(person1)

//简写原型模式

Person.prototype={

   constructor:Person

   name:'钟女士'

   age:80,

   gender:'女'

 }

注:每个原型对象都有constructor属性,由于简写模式重写了默认的prototype对象,所以constructor也会被重新定义,不再指向他的构造函数,所以可以自己写一个constructor属性指向他的构造函数

以上就是js中什么是原型的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript如何实现json转数组

javascript怎么设置select选中

详解javascript扩展运算符的10种用法(总结)

javascript创建命名空间的多种玩法

node.js爬取豆瓣数据实例

javascript怎么改页面文字

servlet中定义的变量如何传给javascript函数

关于http前端存储的总结

javascript如何禁止文字的复制

javascript定义变量的方法有哪些

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...