Как получить доступ к объектам и классам в другом файле в JavaScript

1

Поэтому я просто начал использовать JavaScript и пытаюсь создать объект, используя класс (или функцию, как я знаю, на этом языке) в отдельном файле, как тот, в котором я создал класс. Я также пытаюсь получить доступ к указанным объектам из третьего файла, так как я не хочу, чтобы все мои объекты помутняли основную часть моего кода (я делаю много объектов). Итак, как мне получить доступ к этим объектам и классам в других файлах? Я знаю, что есть способ сделать это на Java, но как насчет JavaScript?

  • 2
    Вы можете загрузить файлы JS на страницу HTML, одну за другой.
  • 0
    Это зависит от вашей среды JavaScript. Ответ будет другим, если вы используете (например) Node.js или встраиваете JS в документ HTML с элементами <script> .
Теги:
class
file
function

2 ответа

3

При добавлении файлов Javascript в свой HTML-документ убедитесь, что файл, который вы создали, был указан первым.

<body>
   <script src="file-where-class-is-created.js"></script>
   <script src="file-where-class-is-accessed.js"></script>
</body>
  • 0
    Спасибо, дополнительный вопрос, мои файлы сохраняются в формате .html, а не .js. Как много это меняет?
  • 0
    Чтобы уточнить, вы создали класс, класс, к которому вам нужно иметь доступ из других файлов, внутри тега сценария в файле HTML?
Показать ещё 2 комментария
1

Зависит от вашей среды. Вы используете узел?

Если это так, вы будете использовать require и module.exports чтобы соответственно загружать и экспортировать переменные во всех файлах.

Например, скажем, у меня есть 2 файла, greetings.js и main.js В greetings.js есть функция, с которой я хочу получить доступ из моего main.js Для этого я должен сначала ее экспортировать:

// greetings.js

module.exports.sayHello = function() {
  return 'Hello!';
};

Затем из моего main.js мне require файл greetings.js, присваивая его переменной. Это позволяет мне получить к нему доступ, как если бы он был из того же файла.

// main.js

var greetings = require("./greetings.js");
greetings.sayHello();  // will return 'Hello!'

Есть много и многих других тонкостей, чем в этом надуманном примере, но это основной пример использования функций через файлы в узле.

  • 0
    Это вопрос супер нуб, но что вы подразумеваете под окружающей средой? Как проверить, в какой среде я нахожусь?
  • 0
    Конечно, не беспокойтесь. Вы запускаете свой JavaScript в браузере или из командной строки?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню