这段代码有什么问题?我不知道如何解决这个问题

时间:2013-05-08 11:34:51

标签: javascript html custom-attributes

尝试创建具有一些自定义属性的元素

function x(){
    var f=document.createElement("div");
    this.name="monkey";
    return f;
}
x.prototype.myFunction=function(){
    alert(arguments[0]+this.name);
};
var c=new x();
c.myFunction("hello");

浏览器说c.myFunction不是函数

2 个答案:

答案 0 :(得分:5)

您正在函数中返回一个HTML元素,因此c将引用该元素而不是您的对象。

删除return f;,您将获得包含'hellomonkey'的警告框的预期输出

答案 1 :(得分:0)

这对你好吗?

function x(){
  var f=document.createElement("div");
  this.name="monkey";

  this.myFunction=function(){
    alert(arguments[0]+this.name);
  };

  this.returnDiv = function() {
    return f;
  }

  return this;
}
var c=new x();
c.myFunction("hello");