Isi kandungan:
Video: Router Part 2: Live Code Session - Supercharged 2024
Apabila anda membuat objek dengan JavaScript, anda bukan hanya terhad untuk membuat objek tertentu, seperti gitar, kereta anda, kucing anda, atau sandwic anda. Keindahan sebenar objek adalah bahawa anda boleh menggunakannya untuk membuat jenis objek, dari mana objek lain boleh dibuat.
Di sini, objek objek baru bagi objek Jenis dibuat. Objek orang baru ini mengandungi semua sifat dan kaedah lalai dari jenis Objek, tetapi dengan nama baru. Anda kemudian boleh menambah sifat dan kaedah anda sendiri kepada objek orang untuk menjadikannya secara khusus menerangkan apa yang anda maksudkan oleh orang.
var person = new Object (); orang. mata = 2; orang. telinga = 2; orang. senjata = 2; orang. tangan = 2; orang. kaki = 2; orang. kaki = 2; orang. spesies = "Homo sapien";
Jadi, sekarang anda telah menetapkan beberapa sifat khusus objek orang tersebut. Bayangkan anda ingin membuat objek baru yang merupakan orang tertentu, seperti Willie Nelson. Anda hanya dapat membuat objek baru yang dipanggil willieNelson dan memberikan semua sifat yang sama dengan objek orang, ditambah sifat yang membuat Willie Nelson unik.
var willieNelson = Objek baru (); willieNelson. mata = 2; willieNelson. telinga = 2; willieNelson. senjata = 2; willieNelson. tangan = 2; willieNelson. kaki = 2; willieNelson. kaki = 2; willieNelson. spesies = "Homo sapien"; willieNelson. pekerjaan = "pemuzik"; willieNelson. kampung = "Austin"; willieNelson. rambut = "Panjang"; willieNelson. genre = "country";
Kaedah ini menentukan objek willieNelson adalah membazir, bagaimanapun. Ia memerlukan anda untuk melakukan banyak kerja, dan tidak ada petunjuk di sini bahawa Willie Nelson adalah orang. Dia hanya mempunyai semua sifat yang sama seperti seseorang.
Penyelesaiannya adalah untuk membuat objek jenis baru, yang dipanggil Orang dan kemudian menjadikan objek willieNelson sebagai Orang jenis.
Perhatikan bahawa nama jenis objek sentiasa dipermodalkan. Ini bukan keperluan, tetapi ia adalah konvensyen hampir universal. Sebagai contoh, anda boleh mengatakan
var person = new Object ();
atau
var willieNelson = Orang baru ();
Membina Objek dengan fungsi pembina
Untuk membuat objek jenis baru, anda menentukan fungsi pembina baru. Fungsi pembina terbentuk seperti mana-mana fungsi dalam JavaScript, tetapi mereka menggunakan kata kunci ini untuk menetapkan sifat ke objek baru. Objek baru kemudian mewarisi sifat jenis objek.
Berikut adalah fungsi pembina untuk jenis objek Person:
function Person () {this.mata = 2; ini. telinga = 2; ini. senjata = 2; ini. tangan = 2; ini. kaki = 2; ini. kaki = 2; ini. spesies = "Homo sapien";}
Untuk mencipta objek baru Orang jenis sekarang, yang perlu anda lakukan adalah menyerahkan fungsi kepada pembolehubah baru. Sebagai contoh:
var willieNelson = Orang baru ()
Objek willieNelson mewarisi sifat objek objek Orang. Walaupun anda tidak membuat apa-apa sifat khusus untuk objek willieNelson, ia mengandungi semua sifat Orang.
Untuk menguji ini, jalankan kod ini dalam pelayar web.
Fungsi demo Warisan Person () {ini. mata = 2; ini. telinga = 2; ini. senjata = 2; ini. tangan = 2; ini. kaki = 2; ini. kaki = 2; ini. spesies = "Homo sapien";} var willieNelson = Orang baru (); amaran ("Willie Nelson mempunyai" + willieNelson. kaki + "kaki!");
Ini adalah hasil daripada menjalankan kod ini dalam pelayar.
Orang. Willie Nelson adalah Orang.Mengubah suai jenis objek
Katakan bahawa anda mempunyai jenis objek Orang anda, yang berfungsi sebagai prototaip bagi beberapa objek. Pada satu ketika anda menyedari bahawa orang itu, serta semua objek yang mewarisi daripadanya, sepatutnya mempunyai beberapa harta lagi.
Untuk mengubah suai objek prototaip, gunakan ciri prototaip yang setiap objek mewarisi dari Objek.
fungsi Orang () {ini. mata = 2; ini. telinga = 2; ini. senjata = 2; ini. tangan = 2; ini. kaki = 2; ini. kaki = 2; ini. spesies = "Homo sapien";} var willieNelson = Orang baru (); var johnnyCash = Orang baru (); var patsyCline = Orang baru (); // Orang memerlukan lebih banyak harta! Orang. prototaip. lutut = 2; Orang. prototaip. jari kaki = 10; Orang. prototaip. siku = 2; // Periksa nilai objek sedia ada untuk dokumen hartanah baru. tulis (patsyCline. kaki); // output 10
Mencipta Objek dengan Objek. buat
Namun cara lain untuk membuat objek dari objek lain adalah dengan menggunakan Objek. buat kaedah. Kaedah ini mempunyai manfaat yang tidak memerlukan anda untuk menulis fungsi pembina. Ia hanya menyalin sifat objek tertentu ke objek baru. Apabila objek mewarisi dari objek lain, objek yang diwarisinya disebut prototaip.
Contoh ini menunjukkan bagaimana Objek. membuat boleh digunakan untuk membuat objek willieNelson dari prototaip.
// buat orang generik var Person = {mata: 2, tangan: 2, kaki: 2} // buat objek WillieNelson, berdasarkan Person var willieNelson = Objek. buat (Orang); // menguji dokumen harta yang diwarisi. tulis (kaki WillieNelson); / // output 2