日期:2014-05-16 浏览次数:20523 次
var parentClass = function(){
//类中的属性:
this.value="parent";
//类中类:
this.sonClass = function(){
this.value = "son";
};
};
var parent = new parentClass();
var son = new parent.sonClass();
alert(son.value);
alert(parent.value);
//结果: son 后 parent
///========================================
var parentClass = function(){
//类中的属性:
this.value="parent";
//类中类:
this.sonClass = function(){
this.value = "son";
};
this.sonObj;
//构造func
(function(){
this.sonObj=new this.sonClass();
}).apply(this,arguments);
};
var parent = new parentClass();
alert(parent.sonObj.value);
alert(parent.value);
//结果: son 后 parent
var parentClass = function(){
//类中的属性:
this.value="parent";
//类中类:
var sonClass = function(){
this.value = "son";
};
};
var parent = new parentClass();
------解决方案--------------------
搞不清楚你这么设计的目标是什么,sonClass继承parentClass?
------解决方案--------------------
无所谓什么类中类,js中的函数(方法)都可以当作构造函数使用,就比如随便写个
function test(){}
var a=new test();//一样可以产生一个对象,只是没有属性而已;
a.test=test;
var b=new a.test();//方法也可以当作构造函数使用,当然也没有属性
像你上面那个所谓类中类,当作方法调用一样是可以的
var parent = new parentClass();
parent.sonClass();//方法里面的this指代方法拥有者,所以这个方法在这里给parent对象添加了一个value属性
alert(parent.value);
------解决方案--------------------
用namespace啊
var ns1 = ns1 || {};
ns1.foo = function(){};
var ns2 = ns2 || {};
ns2.foo = function(){};
------解决方案--------------------
var parentClass={
//类中的属性:
value:"parent",
//类中类:
sonClass:{
value:"son"
}
};
alert(parentClass.value);
alert(parentClass.sonClass.value);