Javascript对象作为另一个js对象的父对象
你能给我解释一下如何用JavaScript做这样的事情吗:Javascript对象作为另一个js对象的父对象,javascript,oop,prototype,Javascript,Oop,Prototype,你能给我解释一下如何用JavaScript做这样的事情吗: 创建一个对象 创建第二个对象 将第一个对象设置为第二个对象的父对象 将第二个对象作为子对象添加到第一个对象 作为Java开发者,这听起来很简单,但我现在很困惑 演示: var childFunction=函数(父函数){ this.parent=parent; 该值=14; this.fun=函数(){ document.getElementById(“test”).innerHTML=parent.value; }; this.se
var childFunction=函数(父函数){
this.parent=parent;
该值=14;
this.fun=函数(){
document.getElementById(“test”).innerHTML=parent.value;
};
this.setParent=函数(父级){
this.parent=parent;
}
}
var parentFunction=function(){
这个值=20;
这个。child=“”;
this.addChild=函数(child){
child.setParent(this);
这个。孩子=孩子;
}
this.setchild=函数(child){
这个孩子=孩子;
}
this.createChild=函数(){
this.child=新的childFunction(this);
}
}
VaR PAR=新PARTANCE函数();
var ch=新的子函数(“”);
//par.setchild(新的子函数(par));
//par.createChild();
PAL。
儿童;代码>
当前代码不会将父级传递给子级构造函数中的子级
正如@Axel point在他的回答中指出的,问题的原因是变量parent
没有绑定到任何东西,除非您在构造函数的名为parent
的参数中传入一个parent。通过在子构造函数中传入parent
,可以为此行创建一个闭包:
document.getElementById("test").innerHTML=parent.value;
这已固定在以下位置:
var childFunction=函数(父函数){
this.parent=parent;
该值=14;
this.fun=函数(){
document.getElementById(“test”).innerHTML=parent.value;
};
this.setParent=函数(父级){
this.parent=parent;
}
}
var parentFunction=function(){
这个值=20;
这个。child=“”;
this.addChild=函数(child){
child.setParent(this);
这个。孩子=孩子;
}
this.setchild=函数(child){
这个孩子=孩子;
}
this.createChild=函数(){
this.child=新的childFunction(this);
}
}
VaR PAR=新PARTANCE函数();
var ch=新的子函数(par)// 当前代码不会将父级传递给子级构造函数中的子级
正如@Axel point在他的回答中指出的,问题的原因是变量parent
没有绑定到任何东西,除非您在构造函数的名为parent
的参数中传入一个parent。通过在子构造函数中传入parent
,可以为此行创建一个闭包:
document.getElementById("test").innerHTML=parent.value;
这已固定在以下位置:
var childFunction=函数(父函数){
this.parent=parent;
该值=14;
this.fun=函数(){
document.getElementById(“test”).innerHTML=parent.value;
};
this.setParent=函数(父级){
this.parent=parent;
}
}
var parentFunction=function(){
这个值=20;
这个。child=“”;
this.addChild=函数(child){
child.setParent(this);
这个。孩子=孩子;
}
this.setchild=函数(child){
这个孩子=孩子;
}
this.createChild=函数(){
this.child=新的childFunction(this);
}
}
VaR PAR=新PARTANCE函数();
var ch=新的子函数(par)// 当前代码不会将父级传递给子级构造函数中的子级
正如@Axel point在他的回答中指出的,问题的原因是变量parent
没有绑定到任何东西,除非您在构造函数的名为parent
的参数中传入一个parent。通过在子构造函数中传入parent
,可以为此行创建一个闭包:
document.getElementById("test").innerHTML=parent.value;
这已固定在以下位置:
var childFunction=函数(父函数){
this.parent=parent;
该值=14;
this.fun=函数(){
document.getElementById(“test”).innerHTML=parent.value;
};
this.setParent=函数(父级){
this.parent=parent;
}
}
var parentFunction=function(){
这个值=20;
这个。child=“”;
this.addChild=函数(child){
child.setParent(this);
这个。孩子=孩子;
}
this.setchild=函数(child){
这个孩子=孩子;
}
this.createChild=函数(){
this.child=新的childFunction(this);
}
}
VaR PAR=新PARTANCE函数();
var ch=新的子函数(par)// 当前代码不会将父级传递给子级构造函数中的子级
正如@Axel point在他的回答中指出的,问题的原因是变量parent
没有绑定到任何东西,除非您在构造函数的名为parent
的参数中传入一个parent。通过在子构造函数中传入parent
,可以为此行创建一个闭包:
document.getElementById("test").innerHTML=parent.value;
这已固定在以下位置:
var childFunction=函数(父函数){
this.parent=parent;
该值=14;
this.fun=函数(){
document.getElementById(“test”).innerHTML=parent.value;
};
this.setParent=函数(父级){
this.parent=parent;
}
}
var parentFunction=function(){
这个值=20;
这个。child=“”;
this.addChild=函数(child){
child.setParent(this);
这个。孩子=孩子;
}
this.setchild=函数(child){
这个孩子=孩子;
}
this.createChild=函数(){
this.child=新的childFunction(this);
}
}
VaR PAR=新PARTANCE函数();
var ch=新的子函数(par)// 当您更改时,它将立即开始工作:
document.getElementById("test").innerHTML=this.parent.value;
当您更改时,它将立即开始工作:
document.getElementById("test").innerHTML=this.parent.value;
当您更改时,它将立即开始工作:
document.getElementById("test").innerHTML=this.parent.value;
当您更改时,它将立即开始工作:
document.getElementById("test").innerHTML=this.parent.value;
检查每个案例中的引用内容,您可能会感到惊讶。代码似乎是正确的,您的cu是什么