Rumah >hujung hadapan web >tutorial js >Adakah Fungsi, Rentetan dan Nombor Sebenarnya Berkelakuan Seperti Objek dalam JavaScript?

Adakah Fungsi, Rentetan dan Nombor Sebenarnya Berkelakuan Seperti Objek dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-12 04:23:02433semak imbas

Do Functions, Strings, and Numbers Actually Behave Like Objects in JavaScript?

Adakah Objek Fungsi, Rentetan dan Nombor dalam JavaScript?

Reputasi JavaScript untuk mengisytiharkan hampir segalanya sebagai objek boleh membingungkan, terutamanya untuk pemula. Walaupun benar bahawa objek, dengan kaedah dan sifatnya, memainkan peranan penting, primitif seperti rentetan, nombor dan fungsi berkelakuan agak berbeza.

Nilai Primitif lwn. Objek

Dalam JavaScript, nilai primitif tidak boleh diubah dan tidak boleh diakses melalui tatatanda titik. Walau bagaimanapun, JavaScript menyediakan objek pembungkus (String, Nombor dan Boolean) yang memberikan primitif dengan kaedah dan sifat seperti objek.

Objek Pembungkus

Objek pembungkus dicipta di belakang adegan apabila mengakses sifat primitif. Contohnya, dalam kod:

var s = "foo";
var sub = s.substring(1, 2);

JavaScript mencipta objek String secara senyap, memanggil kaedah subrentetan() dan kemudian membuang objek tersebut. Sub pembolehubah kini mengandungi rentetan primitif "o."

Walaupun nampaknya anda boleh menetapkan sifat kepada primitif, tugasan ini sebenarnya dilakukan pada objek pembalut yang dibuang serta-merta. Oleh itu, mendapatkan semula sifat sedemikian menghasilkan tidak ditentukan, seperti yang ditunjukkan dalam contoh berikut:

var s = "foo";
s.bar = "cheese";
alert(s.bar); // undefined

Fungsi sebagai Objek

Tidak seperti primitif, fungsi ialah objek lengkap yang mewarisi daripada Object. Mereka boleh mempunyai sifat, seperti yang dilihat dalam kod ini:

function foo() {}
foo.bar = "tea";
alert(foo.bar); // tea

Ringkasnya, primitif sememangnya tidak mempunyai ciri objek dalam JavaScript. Walau bagaimanapun, objek pembalut menyediakan fasad tingkah laku seperti objek, manakala fungsi ialah objek sebenar yang boleh berinteraksi dengan sifat dan kaedah. Perbezaan ini penting untuk memahami sistem jenis JavaScript dan membuat keputusan pengekodan termaklum.

Atas ialah kandungan terperinci Adakah Fungsi, Rentetan dan Nombor Sebenarnya Berkelakuan Seperti Objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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