Rumah > Artikel > hujung hadapan web > Kemahiran analisis_javascript contoh objek pembungkusan JavaScript
Contoh dalam artikel ini menerangkan penggunaan objek pembungkusan JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Objek js ialah nilai komposit: ia ialah harta atau koleksi nilai yang dinamakan.
Rujuk kod berikut:
var s = "hello world"; var len = s.length;
Dalam contoh ini, s ialah rentetan, dan rentetan bukan objek, tetapi mengapa ia mempunyai atribut? Sebenarnya, selagi sifat rentetan s dirujuk, js akan menukar rentetan menjadi objek dengan memanggil Rentetan baharu Objek mewarisi kaedah rentetan dan digunakan untuk mengendalikan rujukan harta itu; sebaik sahaja harta itu dirujuk Pada akhirnya, objek yang baru dibuat akan dimusnahkan (objek sementara ini tidak semestinya dicipta atau dimusnahkan dalam pelaksanaan, tetapi keseluruhan proses kelihatan seperti ini).
Seperti rentetan, nombor dan nilai Boolean juga mempunyai kaedah sendiri: objek sementara dicipta melalui pembangun Number() teras tunggal Boolean() dan panggilan ke kaedah ini semuanya daripada objek sementara ini; , null and undefined do not Wrapper objects: mengakses sifatnya akan menyebabkan ralat jenis.
Contohnya, kod berikut:
var s0 = "hello world"; s0.len = 100; var t = s.len; //t的值将为undefined
Oleh kerana baris 2 mencipta objek sementara dan memusnahkannya serta-merta; baris 3 mencipta objek rentetan baharu melalui nilai rentetan asal dan cuba membaca atribut lennya, yang secara semula jadi tidak wujud. Kod ini menggambarkan cara berkelakuan seperti objek apabila membaca nilai sifat atau kaedah rentetan, nombor dan nilai Boolean. Tetapi jika anda cuba memberikan nilai kepada hartanya, operasi ini akan diabaikan: pengubahsuaian hanya berlaku pada objek sementara, dan objek sementara tidak dikekalkan.
Objek sementara yang dibuat sementara apabila mengakses sifat rentetan, nombor atau nilai Boolean dipanggil objek pembalut.
Kami boleh mencipta objek rentetan secara eksplisit dan menambah sifatnya, dan secara semula jadi sifat itu akan dikekalkan:
var str = "hello world"; var objs = new String(str); objs.len = 100; var t = objs.len; //t将被赋值为100
js akan menukar objek yang dibalut kepada nilai primitif apabila perlu supaya objek yang dipaparkan dibuat dan nilai primitif yang sepadan selalunya, tetapi tidak selalu, berkelakuan sama. Operator == menganggap nilai asal dan objek dibalutnya sebagai sama;
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.