Это не так, как JavaScript работает.
После включения <script>
в DOM выполняется . Однако сам скрипт может определять функции, которые могут быть названы и вызваны позднее (по их имени) любым другим скриптом или элементом на странице, если они имеют доступ к контексту, в котором вы определили свою функцию. ,
Пример:
<script>
function myFunction() {
window.alert('I got called!');
}
</script>
<button onclick="myFunction()">Execute myFunction()</button>
Поэтому вместо использования id
сценария я использую имя функции.
Чтобы полностью ответить на ваш вопрос: запуск сценария по идентификатору невозможен, потому что все сценарии выполняются, как только они анализируются браузером (что происходит в хронологическом порядке в DOM), и нет способа повторно запустить их после того, как они уже были выполнены ,
Очевидно, можно утверждать, что вы можете полностью удалить тег <script>
, создать новый с тем же содержимым, которое равно , которое будет перезапущено, когда добавлено в DOM. Но, по крайней мере, теоретически, он не повторяет тот же <script>
, он работает по другому. Другой экземпляр / <script>
tag.
Само собой разумеется, никто не делает этого, поскольку это гораздо более запутанно, чем просто определить функцию и вызвать эту функцию позже.