Javascript 有人告诉我这个代码有什么问题吗
我想做的是,如果我调用ge('id').getIn()将导致该元素的innerHTML,那么您将在该构造函数中返回一个Javascript 有人告诉我这个代码有什么问题吗,javascript,Javascript,我想做的是,如果我调用ge('id').getIn()将导致该元素的innerHTML,那么您将在该构造函数中返回一个DOM节点。我猜您使用它作为构造函数,因此覆盖了它实际应该返回的对象 跳过这一步 function ge(id){ this.id=id; this.d=document; this.w=window; return document.getElementById(id); } ge.prototype={ set_in:function(
DOM节点
。我猜您使用它作为构造函数,因此覆盖了它实际应该返回的对象
跳过这一步
function ge(id){
this.id=id;
this.d=document;
this.w=window;
return document.getElementById(id);
}
ge.prototype={
set_in:function(value){
this.innerHTML=value;
},
getIn:function(){
return document.getElementById(this.id).innerHTML;
},
foc:function(){
document.getElementById(this.id).focus();
}
}
你很好。您可以将该节点引用存储在一些this.myRef
值中
删除该return
语句后,需要创建一个实例。像
return document.getElementById(id);
然后你终于可以打电话了
var myGE = new ge('id');
您将在该构造函数中返回一个DOM节点
。我猜您使用它作为构造函数,因此覆盖了它实际应该返回的对象
跳过这一步
function ge(id){
this.id=id;
this.d=document;
this.w=window;
return document.getElementById(id);
}
ge.prototype={
set_in:function(value){
this.innerHTML=value;
},
getIn:function(){
return document.getElementById(this.id).innerHTML;
},
foc:function(){
document.getElementById(this.id).focus();
}
}
你很好。您可以将该节点引用存储在一些this.myRef
值中
删除该return
语句后,需要创建一个实例。像
return document.getElementById(id);
然后你终于可以打电话了
var myGE = new ge('id');
您需要调用newge(“header”).getIn()代码>而不仅仅是ge(“header”).getIn()代码>-或创建另一个函数,返回ge
-的新实例,例如:
myGE.getin();
您需要调用newge(“header”).getIn()代码>而不仅仅是ge(“header”).getIn()代码>-或创建另一个函数,返回ge
-的新实例,例如:
myGE.getin();
您会得到什么结果?此错误:无法调用null的方法“getIn”为什么不设置一个?您是否尝试调试此方法?@bhaviktatel-its,因为您尚未实例化ge对象。看到我的答案了。你得到了什么?这个错误:无法调用null的“getIn”方法为什么不设置一个?你试过调试这个吗?@bhaviktatel-因为你没有实例化ge对象。看我的答案。只要他从构造函数中返回一个对象,这就永远不会起作用。这绝对起作用。请看这篇文章:-如果不先实例化对象,您完全无法调用方法-这就是问题代码的问题所在。无法读取的属性“innerHTML”null@techfoobar:开玩笑?你修改了密码。这将是他的代码:。他所需要做的就是编辑return
语句。无需返回此
偶数。然后他可以直接调用newge('id')代码>否。如果您密切注意到,我的初始答案会对返回的stmt进行注释(显然需要)。另外,到目前为止,我的答案中没有任何编辑。只要他从构造函数中返回一个对象,这就永远不会起作用。这绝对起作用。请看这篇文章:-如果不先实例化对象,您完全无法调用方法-这就是问题代码的问题所在。无法读取的属性“innerHTML”null@techfoobar:开玩笑?你修改了密码。这将是他的代码:。他所需要做的就是编辑return
语句。无需返回此
偶数。然后他可以直接调用newge('id')代码>否。如果您密切注意到,我的初始答案会对返回的stmt进行注释(显然需要)。另外,到目前为止,我的答案中没有任何修改。我做了这些,但仍然没有working@BhavikPatel:请查看更新的答案。但我不想每次都创建对象。您必须创建对象。如果不先实例化ge内部的函数,您将无法调用它。也许你最多可以将实例化隐藏在另一个函数中。我这样做了,但仍然没有working@BhavikPatel:请查看更新的答案。但我不想每次都创建对象。您必须创建对象。如果不先实例化ge内部的函数,您将无法调用它。也许您最多可以将实例化隐藏在另一个函数中。