2012-03-28 2 views
1

У меня есть объект в javascript и некоторые уже определенные функции. но как я могу назначить эти функции атрибутам объекта. Я пробовал разные способы. но нет надежды .. приведенный ниже фрагмент нижеНазначение определенной функции атрибуту объекта в javascript

// object 
var func = { 
a : '', 
b : '' 
}; 

// methods 
var test1 = function(i) { console.log(i); } 
var test2 = function(i) { console.log(i*100); } 

Мне нужно присвоить test1 a и test2 по b. Я так пробовал.

var func = { 
a : test1(i), 
b : test2(i) 
}; 

, очевидно, ошибки я не определен бросает .. это Ther любое решение, кроме ниже дать sinppet.

var func = { 
a : function(i) { test1(i); }, 
b : function(i) { test2(i); } 
}; 

ответ

2

Это делает то, что вы спрашиваете:

var test1 = function(i) { console.log(i); } 
var test2 = function(i) { console.log(i*100); } 
var func = { 
    a: test1, 
    b: test2 
} 

Но это не очень хороший стиль.

Это может быть лучше:

function exampleClass() {} 
exampleClass.prototype.a = function(i) { console.log(i); }; 
exampleClass.prototype.b = function(i) { console.log(i*100); }; 

var exampleObject = new exampleClass(); 
+0

их любой другой правильный путь .. а не эта переменная FUNC = { : с функцией (я) {test1 (я); }, b: функция (i) {test2 (i); } }; –

+0

Обновлено мой ответ –

+0

спасибо .. хороший день –