Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取当前类声明为的内容_Javascript_Oop - Fatal编程技术网

Javascript 获取当前类声明为的内容

Javascript 获取当前类声明为的内容,javascript,oop,Javascript,Oop,我正在编写一个类,它处理div的一些innerHTML&onclick标记,在其中放入一些函数,这些函数调用类中的某些内容,但是,因为在一个页面上会有多个类的使用 我想知道是否有可能在课堂上计算出该特定对象的标签 function Bob() { this.test = function() { alert('test'); } this.Bob = function() { element.onClick = functi

我正在编写一个类,它处理div的一些innerHTML&onclick标记,在其中放入一些函数,这些函数调用类中的某些内容,但是,因为在一个页面上会有多个类的使用

我想知道是否有可能在课堂上计算出该特定对象的标签

function Bob() {
    this.test = function()
    {
        alert('test');
    }
    this.Bob = function()
    {
        element.onClick = function() {(some piece of code).test();};
        element.innerHTML = "<a href=\"" + (some piece of code) + ".test();\">Test</a>";
    }
}
函数Bob(){
this.test=函数()
{
警报(“测试”);
}
this.Bob=函数()
{
element.onClick=function(){(某段代码).test();};
element.innerHTML=“”;
}
}
由于闭包是如何工作的,“self”变量将仍然在该元素的onclick中,即使在Bob构造函数返回之后也是如此

只是让不同的类在测试函数中返回不同的警报消息

function Bob() {}
Bob.prototype.test = function () { 
  /* do things */ 
};
Bob.prototype.Bob = function () {
  element.addEventListener("click", function () {
    this.test();
  }.bind(this));
  toArray(element.childNodes).forEach(function (node) {
    element.removeChild(node);
  });
  var button = document.create("button");
  button.classList.add("button-style");
  element.appendChild(button);
  button.addEventListener("click", function () {
    this.test();
  }.bind(this));
};
由于闭包是如何工作的,“self”变量将仍然在该元素的onclick中,即使在Bob构造函数返回之后也是如此

只是让不同的类在测试函数中返回不同的警报消息

function Bob() {}
Bob.prototype.test = function () { 
  /* do things */ 
};
Bob.prototype.Bob = function () {
  element.addEventListener("click", function () {
    this.test();
  }.bind(this));
  toArray(element.childNodes).forEach(function (node) {
    element.removeChild(node);
  });
  var button = document.create("button");
  button.classList.add("button-style");
  element.appendChild(button);
  button.addEventListener("click", function () {
    this.test();
  }.bind(this));
};
您想使用
.bind
将函数绑定到`thisContext'



您希望使用
.bind
将函数绑定到一个`thisContext

,该函数适用于onclick添加,但不幸的是不在innerHTML操作中(不希望它:(),它适用于onclick添加,但不幸的是不在innerHTML操作中)(不希望它:()是的,上面的类不是我使用的类,它是用来显示正在发生的事情(某种程度上)什么类?javascript中没有类。javascript不是这样工作的。@不知道,不要生气,它可能不被称为类,但它的行为非常接近于一个类,如果我想的话,我可以称它为一个。它不像扔人一样off@ChrisGoddard你要找的词是“对象”。你没有使用任何形式的
[[Prototype]]
,所以你不允许使用“class”@Raynos这个词。公平地说,我不知道,我想我会称之为让我恼火的东西,哈哈。但是Prototype会做我试图说服它做的事情吗(基本上得到一个对象声明为什么的字符串?)是的,上面的类不是我使用的类,它是用来显示正在发生的事情(某种程度上)什么类?javascript中没有类。javascript不是这样工作的。@不知道,不要生气,它可能不被称为类,但它的行为非常接近于一个类,如果我想的话,我可以称它为一个。它不像扔人一样off@ChrisGoddard你要找的词是“对象”。你没有使用任何形式的
[[Prototype]]
,所以你不允许使用“class”@Raynos这个词。公平地说,我不知道,我想我会称之为让我恼火的东西,哈哈。但是Prototype会做我试图说服它做的事情吗(基本上得到一个对象声明为什么的字符串?)它还编写了一个图像来执行一个函数,目前我刚刚在顶部添加了一个变量,该变量是在对象名称声明后设置的,然后它刚刚被调用并求值(“h.onclick=function(){“+this.selfObject+”.Hide(“+this.reloadOnClose+”);Chill,为了节省时间,我坚持使用“javascript:;”然后将其粘贴到onclick中或附加到其他函数中,这样我就可以使用该字符串作为对象的声明setTimeout@ChrisGoddard我不再咆哮,而是给你提供了一个DOM替代方案。谢谢你,很抱歉我是一个疯狂的傻瓜,但这更像是一个随机的想法。目前,我还为一个图像编写了一个函数我刚刚在顶部添加了一个变量,该变量在声明为对象名称后设置,然后调用并计算eval(“h.onclick=function(){“+this.selfObject+”.Hide(“+this.reloadOnClose+”)));Chill,为了节省时间,我坚持使用“javascript:;”然后将其粘贴到onclick中或附加到其他函数中,这样我就可以使用该字符串作为对象的声明setTimeout@ChrisGoddard我停止了咆哮,给了你一个DOM替代方案。谢谢你,很抱歉我是一个疯狂的傻瓜,但这更多的是一个随机的想法