2012-06-15 1 views
1

Так что две части вопрос здесь. В принципе, какова правильная практика для размещения функций javascript? Я предположил, что это будет иметь несколько файлов MyScriptFile.js, каждый из которых имеет несколько функций вместо одного огромного файла AllMyScripts.js, так как не каждая страница нуждается в каждой функции.Javascript .js Правила файла - Как использовать функцию вне этого файла?

Однако я не уверен, как ссылаться на другую функцию из-за пределов этого файла ...

Моя ситуация: Я использую запрос AJAX во многих из моих страниц. Каждый ответ на запрос отличается (из разных файлов и т. Д.), И очень сложно сделать динамический (один скрипт-подходит всем будет сложно). Тем не менее, у меня есть моя функция MakeAJAXRequest(), которая создает объект запроса, который является стандартным для всех функций DoSomethingWithRequest().

Как включить MakeAJAXRequest() в другие файлы, содержащие функции DoSomethingWithRequest()? Кажется, я мог бы найти это ... но я не наткнулся на него.

tl; dr У меня есть MakeObject.js и UseObject.js. Как UseObject() ссылка MakeObject()?

EDIT: Найдено, что если включить MakeObject ДО UseObject в тегах HTML <script>, UseObject будет иметь возможность ссылаться на MakeObject. Кажется немного грязным, так как любой, кто хочет использовать сценарий UseObject, должен знать об MakeObject зависимости ...

+1

Проверить Thsi из: http://stackoverflow.com/questions/950087/include-javascript-file-inside-javascript-file –

+0

я видел эту статью, но это казалось немного интенсивный для простого включения. Эти .js-файлы имеют в них ничего, кроме функций. Невозможно ли что-то сделать в строках 'newObject = /myDir/mySubDir/MakeObject.js.MakeObject()'? – StuckAtWork

ответ

0

Если вы хотите, чтобы ваши зависимости загружались, вы можете использовать такую ​​функцию, как: http://phpjs.org/functions/include:433 Существует также include_once(), require() и require_once()

+0

Разве это не значит, что я загружаю дополнительную функцию, чтобы включить мою функцию? – StuckAtWork

+0

yah, но вам нужно будет включить только один файл на HTML-страницу, а затем отключить его. поэтому вам не нужно забывать включать ваши зависимости. это не то, что вы хотели? «Как включить MakeAJAXRequest() в другие файлы, содержащие функции DoSomethingWithRequest()?» вот как, и вы будете делать то же самое с этой зависимостью. – solidau

+0

Я попробую. Это решит проблему любого другого, кто должен выполнить include, но он действительно не сохраняет размер файла (на самом деле есть больше кода для включения, чем просто скопировать/вставить скрипт MakeAJAXRequest()), но главный и поэтому я могу внести изменения только в MakeAJAXRequest.js и распространить его (что было основным намерением). Благодаря! – StuckAtWork

Смежные вопросы