Perbezaan: 1. Objek terbina dalam ialah subset objek asli dan tergolong dalam objek asli, manakala objek hos bukan objek asli enjin; 2. Objek terbina dalam adalah semua objek yang disediakan oleh pelaksanaan ECMAScript yang bebas daripada persekitaran hos Objek hos ialah objek yang tidak ditakrifkan secara rasmi oleh ECMAScript.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.
Objek asli termasuk objek terbina dalam (objek yang dibuat apabila enjin JavaScript dimulakan) dan objek dibuat secara dinamik semasa JavaScript berjalan? . Objek hos ialah objek yang persekitaran hos JavaScript (persekitaran masa jalan) disuntik ke dalam enjin JavaScript melalui beberapa mekanisme semasa proses menjalankan enjin JavaScript
Perbezaan khusus:
Terbina dalam objek : Objek yang sentiasa dicipta semasa fasa permulaan enjin ialah subset objek asli. Objek terbina dalam disediakan oleh EcmaScript dan bebas daripada objek hos, termasuk Global dan Math (objek angka) dan objek terbina dalam
Objek asli (Naitve): Selain objek terbina dalam, ia juga termasuk beberapa objek yang dicipta secara dinamik. Objek asli adalah bebas daripada persekitaran hos, termasuk Objek, Tatasusunan, Fungsi, Nombor, Rentetan, Tarikh
Objek hos: Objek hos bukan objek asli enjin, tetapi didaftarkan kepada JavaScript oleh rangka kerja hos melalui beberapa mekanisme. Persekitaran berjalan Javascipt ialah sistem pengendalian dan penyemak imbas, termasuk dua jenis objek hos BOM dan DOM
1. Objek asli
ECMA-262 mentakrifkan objek asli sebagai " Objek yang disediakan oleh pelaksanaan ECMAScript yang bebas daripada persekitaran hos."
Mengandungi: Objek, Fungsi, Tatasusunan, Rentetan, Boolean, Nombor, Tarikh, RegExp, Ralat, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, ActiveXObject (pelayan), Enumerator (kelas koleksi), traversal RegExp (ungkapan biasa)
2. Objek terbina dalam
ECMA-262 mentakrifkan objek terbina dalam sebagai "disediakan oleh pelaksanaan ECMAScript Semua objek yang bebas persekitaran hos dan muncul apabila program ECMAScript mula dilaksanakan." Ini bermakna bahawa pembangun tidak perlu membuat instantiat secara eksplisit objek terbina dalam, ia sudah pun instantiated.
Ia juga "bebas daripada persekitaran hos". ECMA-262 hanya mentakrifkan dua objek terbina dalam, iaitu Global dan Math (ia juga objek asli. Mengikut definisi, setiap objek terbina dalam adalah objek asli)
3 >
Apakah itu "objek hos"? "Hos" dalam ECMAScript sudah tentu adalah persekitaran berjalan halaman web kami, iaitu, "sistem pengendalian" dan "pelayar". BOM dan DOM ialah kedua-dua objek hos. Kerana ia memaparkan kandungan yang berbeza untuk persekitaran "hos" yang berbeza. Sebenarnya, secara terang-terangan, semua objek yang tidak ditakrifkan secara rasmi oleh ECMAScript tergolong dalam objek hos, kerana kebanyakan objek yang tidak ditentukan adalah objek yang dicipta sendiri melalui program ECMAScript Cadangan berkaitan:tutorial pembelajaran javascript
Atas ialah kandungan terperinci Apakah perbezaan antara objek hos javascript dan objek terbina dalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!