Когда объект передается по значению, он обычно помещается в стек. Вложение чего-то в стек требует знания того, насколько оно велико. При использовании полиморфизма вы знаете, что входящий объект реализует определенный набор функций, но вы, как правило, не имеете представления о размере объекта (и не обязательно, что это является частью выгоды). Таким образом, вы не можете поместить его в стек. Однако вы всегда знаете размер указателя.
Теперь не все идет в стек, и есть другие смягчающие обстоятельства. В случае виртуальных методов указатель на объект также является указателем на vtable (ы) объекта, которые указывают, где находятся методы. Это позволяет компилятору находить и вызывать функции независимо от того, с каким объектом он работает.
Другая причина в том, что очень часто объект реализуется вне вызывающей библиотеки и выделяется совершенно другим (и, возможно, несовместимым) менеджером памяти. Он также может иметь членов, которые не могут быть скопированы, или могут вызвать проблемы, если они были скопированы с другим менеджером. Возможны побочные эффекты для копирования и всевозможные другие осложнения.
В результате указатель - это единственный бит информации об объекте, который вы действительно правильно понимаете, и предоставляет достаточную информацию для определения где нужны другие бит.
Происхождение сценария обычно не должно ничего менять.
Используете ли вы ту же версию плагина? Чтобы быть уверенным, вы можете скопировать содержимое https://unpkg.com/vue-upload-multiple-image@1.0 .2 / dist / vue-upload-multiple-image.js в ваш файл (щелкните правой кнопкой мыши, сохраните как ...).
Добавлен ли он на страницу? У вас есть плагин, такой как Adblock, и информирует ли он о том, что он заблокировал контент? Откройте вашу сетевую консоль и убедитесь, что файл загружен правильно, без ошибок (вы увидите строку с именем файла). Вы видели код JS с сетевой консоли, когда нажимали на линию (чтобы предотвратить неправильную настройку сервера)?
Чтобы быть уверенным, вы можете добавить что-то в конец файла скрипта:
let myTestVar = "JESuisLA";
И убедиться, что вы можете получить доступ к myTestVar на консоли.