JavaScript 构造函数prototype(原型)方法
程序员文章站
2022-03-10 15:10:07
...
prototype是典型面向对象语言,在js中经常用到class(类),类就是对象的方法,对象就是类的实例。
1.构造函数(constructor)
构造函数,就是提供了一个生成对象的模板并描述对象的基本结构的函数。
特点:
(1)一个构造函数,可以生成多个对象,每个对象都有相同的结构。
(2)构造函数的函数名首字母必须大写。
(3)内部使用this对象,来指向将要生成的对象实例。
(4)使用new操作符来调用构造函数,并返回对象实例。】
2.构造函数的缺点
(1)所有的实例对象都可以继承构造函数中的属性和方法。但是,同一个对象实例之间,无法共享属性。
(2)当每次调用new实例的时候都会创建一个方法,但是方法的属性都相同,内存地址不相同,也就是说即浪费资源,又没必要这样写。
3.prototype(原型)属性的作用
js中提供了prototype属性解决构造函数的对象实例之间无法共享属性的缺点。原型对象上的所有属性和方法,都会被对象实例所共享。
js中每个数据类型都是对象(除了null和undefined),而每个对象都继承自另外一个对象,后者称为“原型”(prototype)对象,只有null除外,它没有自己的原型对象。
prototype,对于构造函数来说,是一个属性;对于对象实例来说,它是一个原型对象
4.prototype用法:
//构造函数
function dog(){
pet: 'dog',
color: 'yellow'
}
// 创建一个cat()实例,具有dog()相同的属性
// 显示原型 prototype 构造函数上
dog.prototype.brid= function() {
}
//__proto__ 隐示原型 实例上
var dog1= new dog()
dog1.__proto__.b = 222
5.原型链(prototype chain
//原型链:一个构造函数的原型 = 另一个构造函数的实例
function cat( ) {
}
cat.prototype = new dog()
推荐阅读
-
JavaScript 嵌套函数指向this对象错误的解决方法_javascript技巧
-
javascript trim函数在IE下不能用的解决方法_jquery
-
扩展javascript的Date方法实现代码(prototype)_javascript技巧
-
JavaScript使用三种方法定义函数的实现代码分析
-
php面向对象之构造函数作用与方法
-
关于PHP构造函数使用方法揭秘
-
JavaScript下的时间格式处理函数Date.prototype.format_javascript技巧
-
日常收集整理的JavaScript常用函数方法_javascript技巧
-
JavaScript构造函数中this和return详细介绍
-
浅谈Python类里的__init__方法函数,Python类的构造函数