Добавление функции javascript к уже существующему объекту javascript - PullRequest
0 голосов
/ 29 июля 2011

Я написал функцию javascript для Telerik RadTreeView следующим образом:

function CheckedNodeValues() {
    var checkedNodes = $(this).get_checkedNodes();
    for (var n in checkedNodes) {
        checkedNodes[n].get_value();
    }
}

Я бы хотел иметь возможность myRadTreeView.CheckedNodeValues() вместо CheckedNodeValues(myRadTreeView);

Есть ли способ добавить функцию в класс в Javascript? Я надеюсь, что то, что я спрашиваю, понятно, в идеале, я хотел бы расширить методы, доступные в классе.

Ответы [ 3 ]

2 голосов
/ 29 июля 2011

Вы должны расширить прототип вашего объекта, например так:

myRadTreeView.prototype.CheckedNodeValues = function () {
  // your code here
};

Подробнее о концепции прототипа можно прочитать здесь: http://www.javascriptkit.com/javatutors/proto.shtml или здесь: http://javascriptweblog.wordpress.com/2010/06/07/understanding-javascript-prototypes/

1 голос
/ 29 июля 2011

Нечто подобное должно делать ..

   Telerik.Web.UI.RadTreeView.prototype.CheckedNodeValues = function() {
        var checkedNodes = $(this).get_checkedNodes();
        for (var n in checkedNodes) {
            checkedNodes[n].get_value();
        }
    }
1 голос
/ 29 июля 2011

Абсолютно:

myRadTreeView.CheckedNodeValues = function () {
      // do totally rad stuff here
};

Для вызова вы должны использовать:

myRadTreeView.CheckedNodeValues();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...