Есть ли способ в Javascript иметь делегата, подобного тому, что есть в C#?Делегирование вызова функции в Javascript
Пример в C#
Object.onFunctionCall = delegate (vars v) {
Console.WriteLine("I can do something in this private delegate function");
};
Я хотел бы с моим Javascript, чтобы мой главный объект сделать что-то в течение длительного времени, и расстреливали делегат один раз в некоторое время, чтобы дать немного обновления. Все, что без необходимости менять сам код моего класса для настройки на веб-страницу.
function mainObject() {
this.onUpdate = function() { //Potentially the delegate function here
}
}
var a = new mainObject();
a.onUpdate = Delegate {
$(".myText").text("Just got a delegate update");
}
Я не знаю, если это достаточно ясно .. нету найдено RESSOURCES на это, так что я полагаю, что нет никакого способа сделать это?
ПРИМЕЧАНИЕ: Я не ищу в Jquery Нажмите делегатов мероприятия здесь, но в делегировании вызов функции, как, как это работает в C#
Позвольте мне знать,
* Все * функции в JavaScript (созданные с помощью 'function ..') * являются * 'делегатами', то есть [Функции первого класса] (http://en.wikipedia.org/wiki/ Первое class_function). Вы также можете быть заинтересованы в [Function.bind] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind), чтобы контекст 'this' сохранялся (что более похоже на C#). Также прочитайте связанные вопросы. – user2864740
У вас есть пример функции, которая автоматически срабатывает «Авто», как указано в C#? – Stacknerd
Показанный код JavaScript будет «работать» как есть, если заменить 'Delegate {' на 'function() {'. Например, внизу: вызов 'a.onUpdate()' обновил бы текст. Если говорить о * событиях * в C# (которые сами не являются делегатами *), то это другая концепция. Приведенный пример кода C# не будет «автоматически срабатывать». Не уверен, что имеется в виду. – user2864740