Функцию можно вызывать так, как если бы она находилась в том же файле JS, если файл, содержащий определение функции, был загружен до первого использования функции.
Т.е.
File1.js
function alertNumber(number) {
alert(number);
}
File2.js
function alertOne() {
alertNumber("one");
}
HTML
<head>
....
<script src="File1.js" type="text/javascript"></script>
<script src="File2.js" type="text/javascript"></script>
....
</head>
<body>
....
<script type="text/javascript">
alertOne();
</script>
....
</body>
Другой способ не сработает.
Как правильно указал Стюарт Уэйкфилд . Другой способ также будет работать.
HTML
<head>
....
<script src="File2.js" type="text/javascript"></script>
<script src="File1.js" type="text/javascript"></script>
....
</head>
<body>
....
<script type="text/javascript">
alertOne();
</script>
....
</body>
То, что не будет работать, будет:
HTML
<head>
....
<script src="File2.js" type="text/javascript"></script>
<script type="text/javascript">
alertOne();
</script>
<script src="File1.js" type="text/javascript"></script>
....
</head>
<body>
....
</body>
Хотя alertOne
определяется при вызове, внутри он использует функцию, которая до сих пор не определена ( alertNumber
).
Ответ выше имеет неверное предположение, что порядок включения файлов имеет значение. Поскольку функция alertNumber не вызывается, пока не будет вызвана функция alertOne. Пока оба файла включены по времени, вызывается alertOne, порядок файлов не имеет значения:
[HTML]
[JS]
Или это можно заказать следующим образом:
[HTML]
[JS]
Но если бы вы сделали это:
[HTML]
[JS]
Это имеет значение только для переменных и функций, доступных во время выполнения. Когда функция определена, она не выполняет и не разрешает ни одну из переменных, объявленных внутри, до тех пор, пока эта функция не будет впоследствии вызвана.
Включение различных файлов сценариев ничем не отличается от сценария, находящегося в том же порядке в одном и том же файле, за исключением отложенных сценариев:
тогда вам нужно быть осторожным.
источник
function myfunction() {
и script2:alert();}
он не будет работать. Это беспокоит меня, потому что я пытался модульный файл JS, который слишком длинный. См. Stackoverflow.com/questions/20311604/…this
контекст, если одна из функций находится в классе?this
ограничен в точке, где вызывается функция (если толькоbind
она не была вызвана заранее). Две функции в двух отдельных файлах не будут совместно использоватьthis
контекст автоматически, в вышеприведенном примере также не имеетthis
контекста, то естьwindow
в нестрогом илиundefined
в строгом режиме. Вы можете сделать так, чтобы функция в другом скрипте имела такое жеthis
значение, либо назначив функцию как член объекта (то есть внутри конструктораthis.method = myOtherFunc
), либо используя связывание. Пожалуйста, оставьте вопрос SO с более подробной информацией, если вам нужен более глубокий ответ. Приветствия, СтюартДо тех пор, пока на обе страницы ссылается веб-страница, да.
Вы просто вызываете функции, как если бы они были в одном файле JS.
источник
Если включены все файлы, вы можете вызывать свойства из одного файла в другой (например, функцию, переменную, объект и т. Д.)
Функции и переменные js, которые вы записываете в один файл .js - скажем, a.js будут доступны для других файлов js - скажем, b.js, если в файл включены и a.js, и b.js , используя следующие механизм (и в том же порядке, если функция в b.js вызывает функцию в a.js).
источник
ES6: Вместо включения многих js-файлов с использованием
<script>
в .html вы можете включить только один основной файл, например,script.js
используя атрибутtype="module"
( support ), а внутриscript.js
вы можете включить другие файлы:И в
script.js
файл включить еще один файл, как это:В 'module.js' вы должны экспортировать функцию / класс, который вы будете импортировать
Рабочий пример здесь .
источник
Да, ты можешь . вам нужно сослаться как
JS file
на.aspx
страницуисточник
Вы можете вызвать функцию, созданную в другом js-файле, из файла, в котором вы работаете. Поэтому для этого сначала вам нужно добавить внешний js-файл в html-документ как
Функция, определенная во внешнем файле JavaScript -
Чтобы вызвать эту функцию в вашем текущем файле, просто вызовите функцию как -
Если вы хотите передать параметры в функцию, то определите функцию как
И вызвать эту функцию в вашем текущем файле как -
источник
$.fn
назначение в документ , готовый п бессмысленноВот более наглядный пример с прикрепленным фрагментом CodePen:
1.js
2.js
index.html
вывод
Попробуйте этот фрагмент CodePen: ссылка .
источник
Ну вот, я наткнулся на другое сладкое решение
window['functioName'](params);
источник
Для тех, кто хочет сделать это в Node.js (запуск скриптов на стороне сервера), можно использовать
require
иmodule.exports
. Вот краткий пример того, как создать модуль и экспортировать его для использования в другом месте:file1.js
file2.js
источник