Присвоение метода объекта функции
Вот пример
http://dojo.telerik.com/@casufi/itAte Не могу понять как работает кусок кода function onChange(e) Почему как только я присваиваю метод переменной, она теряет область видимости ? Кусок кода var handler = e.sender.text; handler("changed2"); Не работает. Можно ли метод объекта и сам объект передать функции в качестве входящих параметров и выполнить метод в контексте объекта ? |
Цитата:
А вот ссылку на объект - запросто! var obj={ name: 'Вася', method: function(){ alert(this.name); } }; test(obj); function test(Obj){ Obj.method(); }; |
Проблема в том, что в функции я не знаю какой метод у объекта я должен выполнить, мне нужно каким то образом в функцию передать 1 - сам обхект 2 - какой метод выполнить.
|
Вроде нашел https://learn.javascript.ru/bind
|
Цитата:
var obj={ name: 'Вася', method: function(){ alert(this.name); } }; test(obj,'method'); function test(Obj,Method){ Obj[Method](); }; |
Цитата:
var execmethod = function(method){ method(); } var obj={ name: 'Вася', method: function(){ alert(this.name); } }; execmethod(function(){obj.method()}); |
Casufi,
:blink: var obj={ name: 'Вася', method: function(){ alert(this.name); } }; test(obj.method.bind(obj)); function test(Method){ Method(); }; |
Часовой пояс GMT +3, время: 06:25. |