簡體   English   中英

用變量調用javascript對象方法

[英]call javascript object method with a variable

我是面向對象的javascript的新手。 我有一個變量,其值我想用來調用對象的方法。 像這樣..

var foo = {
    bar: function() {},
    barr: function() {}
}

現在有一個變量,其值可以是兩個方法的名稱barbarr任何一個我想用類似的東西來調用它們

var myvar = 'bar';
foo.{myVar}();

所以我假設你想根據字符串動態調用適當的函數。 你可以這樣做:

var myVar = 'bar';
foo[myVar]();

或者你也可以使用eval但是風險更高(容易發生注射攻擊)而且速度較慢( 不要這樣做! :P):

var myVar = 'bar';
eval('foo.' + myVar + '()');

由於您可以通過下標表示法訪問對象的元素,因此以下內容將執行您要查找的內容:

var myVar = 'bar';
foo[myVar]();

你可以說:

foo[myVar]();

由於foo是一個JavaScript對象,因此該代碼將引用myVar變量中包含的成員。

var foo = {
    bar: function() { alert('bar'); },
    barr: function() { alert('barr'); }
}


var myvar = 'bar';
foo[myvar](); // alert 'bar'

使用類似: foo[myVar]();

它應該是這樣的

foo[myvar]();

我確定有更好的方法,但你可以使用eval()

var myvar = "bar";
var code = "foo." + myvar + "();"
eval(code);

暫無
暫無

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

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