Rumah > Soal Jawab > teks badan
Js telah diperkenalkan ke dalam halaman, tetapi kaedah di dalamnya tidak boleh dipanggil..(dalam folder yang sama)
Kod adalah seperti html berikut:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="./AgentGetway.js"></script>
</head>
<body>
<script type="text/javascript">
console.log(AgentStatus['host']);//这个地方说AgentStatus is not defined
</script>
</body>
</html>
Kandungan js adalah seperti berikut:
var AgentStatus={
host :'127.0.0.1'
};
atau:
var AgentStatus=(function(){
return {
host:'127.0.0.1'
}
})()
Saya tidak dapat, tolong beri saya tunjuk ajar...
某草草2017-06-14 10:54:32
Penyoal hanya ingin mendapatkan rujukan kepada pembolehubah global dalam js. Keperluan mudah sedemikian tidak semestinya perlu melambatkan masa perolehan:
<script type="text/javascript">
window.onload = function() {
//这个地方 AgentStatus 就不会是 undefined 了
}
</script>
ringa_lee2017-06-14 10:54:32
Gunakan konsol penyemak imbas chrome --network untuk melihat sama ada fail js anda dimuatkan. Jika ia dimuatkan, semak jika terdapat sebarang ralat dalam konsol.
仅有的幸福2017-06-14 10:54:32
Intipati masalah ini ialah modularisasi JS. Terdapat banyak penyelesaian sebelum ini, seperti AMD, CMD, requireJS, CommonJS... Terdapat banyak dalam talian, anda boleh mencarinya sendiri.
Sekarang izinkan saya memberitahu anda tentang penyelesaian yang telah dimasukkan ke dalam spesifikasi ES6:
Mula-mula anda memerlukan pek web alat binaan atau gulp Sebagai perbandingan, yang pertama lebih popular sekarang, tetapi kos pembelajarannya lebih tinggi sedikit, atau jenis perancah yang telah disediakan seperti vue-cli
npm i babel
Alat ini digunakan untuk menghuraikan kod ES6 ke dalam kod JS yang disokong oleh kebanyakan pelayar. Terdapat juga tutorial tentang cara melaksanakan langkah ini di Babel. Sudah tentu, jika anda menggunakan perancah seperti vue-cli, ini akan membantu anda mengkonfigurasi segala-galanya, termasuk perkhidmatan tempatan, supaya anda boleh melangkau langkah ini.
Gunakan spesifikasi ES6 untuk menulis bahasa dan menyelesaikan masalah anda
// AgentGetway.js
export const AgentStatus = {
host :'127.0.0.1'
}
// index.html 你的html文件中的script
<script>
import {AgentStatus} from './AgentGetway.js'
console.log(AgentStatus) // host: '127.0.0.1'
</script>
petua:
Situasi di mana anda menghasilkan semula masalah sepatutnya jarang ditemui dalam pembangunan projek sebenar, kerana ini adalah masalah yang telah diselesaikan beberapa tahun lalu, dan ia adalah masalah yang pasti akan dihadapi oleh projek besar
Inti masalah ini adalah modularisasi JS Terdapat banyak dan pengetahuan yang luas yang terlibat dalam ini spesifikasi secara langsung
我想大声告诉你2017-06-14 10:54:32
module.export = fungsi yang anda ingin eksport;
Import fungsi yang dieksport pada halaman lain.