小编Igo*_*kov的帖子

如何将类名作为参数传递?

我想创建一个函数,它接受一个类示例/类名称并返回一定数量的所述类的示例的集合,初始化和填充。到目前为止,我已经提出了这个解决方案:

Function getCollectionObj(className as string) As Collection

    Dim obj As Variant
    Dim result As Collection
    Dim objType As String
    Dim I 
    
    For I = 1 To 5
    
    'selecting the type of a class based on string name
    Select Case className
    Case "Cls1"
        Set obj = New Cls1
    Case "Cls2"
        Set obj = New Cls2
    Case "DocumentStart"
        Set obj = New Cls3    
    End Select
    'some code handling the exemplar of the object.

    result.add obj
    Next I
    Set getCollectionObj = result
End …
Run Code Online (Sandbox Code Playgroud)

vba

5
推荐指数
1
解决办法
170
查看次数

为什么在这里需要确切的二传手?

HTML片段

 <div id="container">

    <span class="no"></span>
    <span class="yes"></span>
    <span class="no"></span>
    <span class="no"></span>

 </div>
Run Code Online (Sandbox Code Playgroud)

因此,一个getter会返回一个元素.yes并提供延迟的评估(我认为这是术语,对吧?

class Something{
    constructor(){
        this.elem = container;
    }

    get childYes(){
        let span = this.elem.querySelector(".yes");
        this.childYes = span;//Cannot set property clientName of #<Docum> which has only a getter
        return span;
    }   
}


var object = new Something();
console.log(object.childYes);
Run Code Online (Sandbox Code Playgroud)

但是,如果我添加一个空的setter,它可以正常工作:

class Something{
    constructor(){
        this.elem = container;
    }

    get childYes(){
        let span = this.elem.querySelector(".yes");
        this.childYes = span;
        return span;
    }   
    set childYes(a){};
}


var object = new Something();
console.log(object.childYes); …
Run Code Online (Sandbox Code Playgroud)

javascript

1
推荐指数
1
解决办法
40
查看次数

标签 统计

javascript ×1

vba ×1