JavaScript对象模型
2010-09-14 13:20:17 来源:WEB开发网关于创建过程返回值的验证:
//PassedinFF2.0,IE7,Opera9.25,Safari3.0.4
functionfn(){
//according to step 4 described above,
//the new fn() operation will return the object { attr1: 111, attr2: 222 }, it's not an instance of fn!
return{attr1:111,attr2:222};
}
fn.prototype={attr1:"aaa",attr2:"bbb"};
varobj=newfn();
document.write(obj.attr1+"<br/>");//result:111
document.write(obj.attr2+"<br/>");//result:222
document.write(objinstanceoffn);//result:false
做个练习
经过上面的理解应,请写出下面这幅图的实现代码。图中CF是一个函数,Cfp是CF的prototype对象,cf1, cf2, cf3, cf4, cf5都是CF的实例对象。虚线箭头表示隐式Prototype关系,实线箭头表示显示prototype关系。
供参考的实现方案:
//PassedinFF2.0,IE7,Opera9.25,Safari3.0.4
functionCF(q1,q2){
this.q1=q1;
this.q2=q2;
}
CF.P1="P1 in CF";
CF.P2="P2 in CF";
functionCfp(){
this.CFP1="CFP1inCfp";
}
CF.prototype=newCfp();
varcf1=newCF("aaa","bbb");
document.write(cf1.CFP1+"<br/>");//result:CFP1inCfp
document.write(cf1.q1+"<br/>");//result:aaa
document.write(cf1.q2+"<br/>");//result:bbb
Tags:JavaScript 对象 模型
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接