js中的函数中的prototype原型
1 函数的prototype属性
每个函数都有一个prototype属性 ,默认指向一个object空对象(原型对象);
原型对象中有一个属性construction,指向函数对象;
<script type="text/javascript">
// 每个函数(例如Data函数)都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象)
console.log(Date.prototype, typeof Date.prototype)
function Fun () {//alt + shift +r(重命名rename)
}
console.log(Fun.prototype) // 默认指向一个Object空对象(即没有我们自定义的属性)
<script/>
任意函数的原型对象的构造器指向函数对象
// 任意函数的原型对象中有一个属性constructor, 它指向函数对象
console.log(Date.prototype.constructor===Date) //true
console.log(Fun.prototype.constructor===Fun)//true
构造函数和原型对象相互引用
函数fun Type的prototype属性指向Type的原型对象object
Type原型对象的constructor构造器指向函数fun Type
2 给原型对象添加属性(一般是方法)
作用:函数的所有实例对象自动拥有原型中的属性(方法)
可以给原型对象增加自定义属性(一般是方法)
通过函数.prototype.自定义函数=function(){} 的方式进行增加
//给原型对象添加属性(一般是方法) ===>实例对象可以访问
Fun.prototype.test = function () {
console.log('访问了test()')
}
var fun = new Fun()
fun.test()