Як зазначає Триптих, ви можете викликати будь-яку глобальну функцію області, знайшовши її у вмісті хост-об'єкта.
Більш чистий метод, який забруднює глобальний простір імен набагато менше, полягає в тому, щоб явно помістити функції в масив безпосередньо так:
var dyn_functions = [];
dyn_functions['populate_Colours'] = function (arg1, arg2) {
// function body
};
dyn_functions['populate_Shapes'] = function (arg1, arg2) {
// function body
};
// calling one of the functions
var result = dyn_functions['populate_Shapes'](1, 2);
// this works as well due to the similarity between arrays and objects
var result2 = dyn_functions.populate_Shapes(1, 2);
Цей масив також може бути властивістю якогось іншого об'єкта, крім глобального об'єкта хосту, що означає, що ви можете ефективно створити власний простір імен для багатьох бібліотек JS, таких як jQuery. Це корисно для зменшення конфліктів, якщо / коли ви включаєте кілька окремих бібліотек утиліт на одну й ту саму сторінку, і (інші частини вашого дозволу на дизайн) можуть полегшити повторне використання коду на інших сторінках.
Ви також можете використовувати такий об'єкт, який може бути більш чистим:
var dyn_functions = {};
dyn_functions.populate_Colours = function (arg1, arg2) {
// function body
};
dyn_functions['populate_Shapes'] = function (arg1, arg2) {
// function body
};
// calling one of the functions
var result = dyn_functions.populate_Shapes(1, 2);
// this works as well due to the similarity between arrays and objects
var result2 = dyn_functions['populate_Shapes'](1, 2);
Зауважте, що або з масивом, або з об'єктом, ви можете використовувати будь-який спосіб налаштування або доступу до функцій, і, звичайно, також можна зберігати там інші об’єкти. Ви можете додатково зменшити синтаксис будь-якого методу для контенту, який не такий динамічний, використовуючи буквене позначення JS таким чином:
var dyn_functions = {
populate_Colours:function (arg1, arg2) {
// function body
};
, populate_Shapes:function (arg1, arg2) {
// function body
};
};
Редагувати: звичайно, для більших блоків функціональності ви можете розширити вищевказане на дуже поширений «шаблон модуля», який є популярним способом організовано інкапсулювати функції коду.