如何获取一组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