Perbezaan antara location.host dan location.hostname dalam JavaScript

WBOY
Lepaskan: 2023-09-24 10:45:03
ke hadapan
1246 orang telah melayarinya

JavaScript 中 location.host 和 location.hostname 之间的区别

Objek Lokasi JavaScript menyediakan akses kepada komponen URL semasa. Orang boleh menganggap objek ini sebagai tetingkap baca sahaja di lokasi semasa.

Objek Lokasi mempunyai dua sifat yang sering dikelirukan dengan: hos dan nama hos.

Lokasi.Hos

Atribut hos mengembalikan nama hos, nombor port dan protokol URL semasa. Contohnya, jika URL semasa ialah "http://example.com:8080/path/to/page.html", nilai hos ialah "example.com:8080".

Kelebihan menggunakan location.host

Terdapat juga beberapa kelebihan untuk menggunakan location.host berbanding location.hostname.

Pertama, ia lebih khusus. Jika anda memerlukan nombor port atau protokol, anda boleh memastikan sifat hos akan mengembalikannya.

Kedua, lebih ringkas. Jika anda hanya memerlukan nama hos, anda boleh menggunakan atribut nama hos yang lebih pendek. Tetapi jika anda juga memerlukan nombor port atau protokol, anda boleh menggunakan sifat hos dan mendapatkan semua maklumat sekaligus.

Ketiga, ia lebih berorientasikan masa depan. Jika komponen URL baharu ditambahkan, ia mungkin disertakan dalam sifat hos. Ini tidak semestinya berlaku dengan atribut nama hos.

lokasi.nama hos

Sebaliknya, atribut nama hos hanya mengembalikan bahagian nama hos URL semasa. Contohnya, jika URL semasa ialah "http://example.com:8080/path/to/page.html", nilai nama hos ialah "example.com".

Kelebihan menggunakan location.hostname

Menggunakan location.hostname mempunyai beberapa kelebihan berbanding location.host.

Pertama sekali, ia lebih mudah dibaca. Apabila anda melihat URL, anda biasanya lebih berminat dengan nama hos daripada nombor port atau protokol.

Kedua, lebih konsisten. Nama hos ialah bahagian URL yang diperlukan, manakala nombor port dan protokol adalah pilihan. Ini bermakna tidak semua URL mempunyai atribut hos, tetapi semuanya mempunyai nama hos.

Ketiga, ia lebih anjal. Jika anda menukar nombor port atau protokol URL, nama hos akan tetap sama. Ini tidak berlaku dengan sifat hos.

Bila nak guna setiap satu?

Secara umum, melainkan anda memerlukan nombor port atau protokol secara khusus, anda harus menggunakan location.hostname.

Alasannya ialah nama hos ialah bahagian URL yang "boleh dibaca manusia", manakala atribut hos juga termasuk nombor port dan protokol. Selalunya, maklumat tambahan ini tidak diperlukan.

Namun, terdapat beberapa pengecualian. Contohnya ialah jika anda perlu membina URL baharu menggunakan URL semasa sebagai asas. Dalam kes ini, anda perlu menggunakan location.host untuk mengekalkan nombor port dan protokol.

Pengecualian lain adalah jika anda menggunakan pemendek URL. Dalam kes ini, anda perlu menggunakan location.host untuk mengekalkan nama hos URL asal.

Perbezaan antara

location.host dan location.hostname dalam JavaScript

Jadual berikut menyerlahkan perbezaan utama antara location.host dan location.hostname dalam JavaScript -

Agak asas Lokasi.Hos lokasi.nama hos
Definisi Atribut hos mengembalikan nama hos, nombor port dan protokol URL semasa Sebaliknya, atribut nama hos hanya mengembalikan bahagian nama hos URL semasa
Contoh Jika URL semasa ialah "http://example.com:8080/path/to /page.html", nilai hos ialah "example.com:8080 Jika URL semasa ialah "http://example.com:8080/path /to/page.html", nilai nama hos ialah "example.com".
Bila nak guna? Jika anda memerlukan nombor port atau protokol secara khusus, anda harus menggunakan location.host. Melainkan anda memerlukan nombor port atau protokol secara khusus, anda harus menggunakan location.hostname.
Kebolehbacaan Sifat hos juga termasuk nombor port dan protokol, menjadikannya kurang boleh dibaca. Nama hos ialah bahagian URL yang "boleh dibaca manusia".

Kesimpulan

Dalam kebanyakan kes, anda harus menggunakan location.hostname dan bukannya location.host. Ia lebih mudah dibaca, lebih konsisten dan lebih berdaya tahan. Walau bagaimanapun, terdapat beberapa pengecualian, seperti apabila anda perlu membina URL baharu atau menggunakan pemendek URL.

Atas ialah kandungan terperinci Perbezaan antara location.host dan location.hostname dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan