第五种模式:动态原型方式
function student(){
this.name="小明";
this.age=18;
;
if(typeof Parent.sayname=="undefined"){
//直接在函数体内定义,如果函数没有被定义则进行定义
Parent.prototype.sayname=function(){
return this.name;
}
Parent.sayname = true;
}
};
var x =new student();
alert(x.sayname());
说明:
1.动态原型方式可以理解为混合构造函数,原型方式的一个特例,只是对实例化对象前,进行了条件判断
2.该模式中,属性为方法的属性直接在函数中进行了定义,但是因为函数中存在条件判断语句,从而保证创建该对象的实例时,属性的方法不会被重复创建
在给JavaScript 的变量或者对象定义的时候,直接赋值 null 即可,比如:
var myobj =null;
var mylist = null ;
var my=null;
等等