Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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_Class - Fatal编程技术网

如何获取一组javascript';类别';

如何获取一组javascript';类别';,javascript,class,Javascript,Class,如果我指定 displayUL = new displayListMaker({{ $displays }}); 如果这是可能的,如何获取变量displayUL var displayListMaker = function(displays){ 像 所以我可以生成调用自身的html return '<a onclick="'+this.self+'.callAFunc(withdata)">call myself :)</a>' return'呼叫我自己:)' 您

如果我指定

displayUL = new displayListMaker({{ $displays }});
如果这是可能的,如何获取变量displayUL

var displayListMaker = function(displays){

所以我可以生成调用自身的html

return '<a onclick="'+this.self+'.callAFunc(withdata)">call myself :)</a>'
return'呼叫我自己:)'

您无法获取最终将引用构造函数内对象的变量的名称,因为最终可能会有多个引用指向同一对象,因此它如何知道要使用哪一个

如果这是针对内联处理程序属性的,那么具有局部变量的名称就无关紧要了,因为处理程序主体是在全局变量范围内执行的


如果
displayUL
变量是全局变量,一种解决方案是将全局变量的名称传递给构造函数,让构造函数将全局变量添加到其中,并将名称编码到字符串中

new displayListMaker($displays, "displayUL");

var displayListMaker = function(displays, name) {
    window[name] = displays;

    '<a onclick="' + name + '.callAFunc(withdata)">call myself :)</a>'
    // ...and so on

你能试试另一种解释吗?目前我不知道你的意思,不可能。可能有多个引用。你为什么需要这个@RobH:
displayListMaker
是一个构造函数,它创建一些HTML,其中包含一个内联的
onclick
处理程序属性,该属性需要引用从构造函数创建的对象。所以OP想知道如何从handler属性中引用新创建的对象,并认为隐式创建的对最终变量的引用将保存该对象就是解决方案。确切地说,我正试图创建一个无序列表,其中包含可单击的Listitems,该列表应将其id推送到类内的数组中。所以我可以说displayUL.retrieveselecteds(),也许我应该使用主干网,但它似乎满足了我现在的需要。
new displayListMaker($displays, "displayUL");

var displayListMaker = function(displays, name) {
    window[name] = displays;

    '<a onclick="' + name + '.callAFunc(withdata)">call myself :)</a>'
    // ...and so on
new displayListMaker($displays);

var displayListMaker = function(displays, name) {
    var that = this;

    var elem = document.createElement("a")
    elem.innerHTML = "call myself :)"

    elem.onclick = function() {
        that.callAFunc(withdata);
    }
    // ...and so on