Rumah >hujung hadapan web >tutorial js >Penciptaan dan akses kemahiran javascript objects_javascript
JavaScript jarang membuat orang memikirkan ciri berorientasikan objeknya. Malah sesetengah orang mengatakan bahawa ia bukan bahasa berorientasikan objek kerana ia tidak mempunyai kelas. Ya, JavaScript sebenarnya tidak mempunyai kelas, tetapi JavaScript ialah bahasa berorientasikan objek. JavaScript hanya mempunyai objek, dan objek ialah objek, bukan contoh kelas.
Oleh kerana objek dalam kebanyakan bahasa berorientasikan objek adalah berdasarkan kelas, orang sering mengelirukan konsep contoh kelas dan objek. Objek ialah contoh kelas, yang benar dalam kebanyakan bahasa, tetapi tidak dalam JavaScript. Objek dalam JavaScript adalah berasaskan prototaip.
Buat dan akses
Objek dalam JavaScript sebenarnya ialah tatasusunan bersekutu yang terdiri daripada atribut Atribut terdiri daripada nama dan nilai Jenis nilai boleh menjadi sebarang jenis data, atau fungsi atau objek lain. Ambil perhatian bahawa JavaScript mempunyai ciri-ciri pengaturcaraan berfungsi, jadi fungsi juga merupakan jenis pembolehubah dan kebanyakan masa tidak perlu dibezakan daripada jenis data umum.
Dalam JavaScript, anda boleh mencipta objek mudah menggunakan:
var foo = {}; foo.prop_1 = 'bar'; foo.prop_2 = false; foo.prop_3 = function() { return 'hello world'; } console.log(foo.prop_3());
Dalam kod di atas, kami mencipta objek melalui var foo = {}; dan memberikan rujukannya kepada foo,
Dapatkan ahlinya dan tetapkan nilai melalui foo.prop1, dengan {} ialah kaedah perwakilan objek literal, atau anda boleh menggunakan var foo = new Object() untuk mencipta objek secara eksplisit.
1. Gunakan tatasusunan bersekutu untuk mengakses ahli objek
Kita juga boleh menggunakan corak tatasusunan bersekutu untuk mencipta objek Kod di atas diubah suai kepada:
var foo = {}; foo['prop1'] = 'bar'; foo['prop2'] = false; foo['prop3'] = function() { return 'hello world'; }
Dalam JavaScript, menggunakan pengendali tempoh adalah bersamaan dengan rujukan tatasusunan bersekutu, yang bermaksud bahawa sebarang objek (termasuk
penunjuk ini) boleh menggunakan kedua-dua mod. Kelebihan menggunakan tatasusunan bersekutu ialah apabila kita tidak mengetahui nama atribut objek, kita boleh menggunakan pembolehubah sebagai indeks tatasusunan bersekutu. Contohnya:
var some_prop = 'prop2'; foo[some_prop] = false;
2. Gunakan pemula objek untuk mencipta objek
Kaedah di atas hanya memberi anda pemahaman tentang definisi objek JavaScript Apabila sebenarnya menggunakannya, kami akan menggunakan kaedah yang lebih padat dan jelas berikut:
var foo = { 'prop1': 'bar', prop2: 'false', prop3: function (){ return 'hello world'; } };
Kaedah yang ditakrifkan ini dipanggil pemula objek. Ambil perhatian bahawa apabila menggunakan pemula, sama ada nama sifat objek dipetik adalah pilihan Melainkan terdapat ruang atau aksara lain yang boleh menyebabkan kesamaran dalam nama harta, tidak perlu menggunakan petikan.
Di atas ialah kaedah pelaksanaan untuk mencipta dan mengakses objek dalam JavaScript, saya harap ia akan membantu pembelajaran semua orang.