簡體   English   中英

如何使用變量引用類

[英]How to refer to class using variable

如果我有這個對象:

var myclass = {

  foo: {
    bar: function(var) {}
  },
  some: {
    bar: function(var) {}
  }
}

我想根據定義對象父級的變量來調用bar函數,如下所示:

var part = "some";
myclass.part.bar(var);

我能怎么做?

您可以使用數組訪問符號來實現:

myclass[part].bar(var);

JavaScript對象就像關聯數組一樣,您可以使用屬性名稱來設置或獲取屬性的值,甚至可以使用此語法創建新屬性。

例如:

var obj = { a : 1 };
console.log(obj["a"]); // 1
obj["b"] = 2; // this creates a property called b and assigns 2 as the value
console.log(obj["b"]); // 2

您可以將對函數的引用保留為變量,它比字符串干凈一點。

var func = myclass.foo.bar;//or myclass.some.bar
...
func.call(myclass, var);

或保留對零件的引用:

var part = myclass.foo;//or myclass.some
part.bar.call(myclass, var);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM