Dalam JavaScript, pengakses harta ialah mekanisme yang membolehkan anda mengakses sifat sesuatu objek. Terdapat dua cara utama untuk melakukan ini: notasi titik dan notasi kurungan.
Notasi titik ialah cara paling biasa untuk mengakses sifat. Anda hanya menggunakan titik (.) diikuti dengan nama sifat.
Notasi kurungan berguna apabila nama sifat itu dinamik atau bukan pengecam yang sah (mis., ia mengandungi ruang atau aksara khas). Anda menggunakan kurungan segi empat sama ([]) dan luluskan nama sifat sebagai rentetan
Bahasa ini menyediakan sintaks yang dikenali sebagai notasi literal objek untuk mencipta objek dengan pantas. Literal objek dilambangkan dengan pendakap kerinting. Contoh berikut mencipta objek kosong tanpa sifat.
var animal = {};
Di dalam pendakap kerinting, sifat dan nilainya ditentukan sebagai senarai pasangan kunci/nilai.
Kekunci boleh menjadi rentetan atau pengecam, manakala nilai boleh menjadi sebarang ungkapan yang sah. Senarai pasangan kunci/nilai dibataskan koma, dengan setiap kunci dan nilai dipisahkan oleh titik bertindih.
Contoh berikut mencipta objek dengan tiga sifat menggunakan notasi literal.
Harta pertama, haiwan, memegang nombor satu.
Sifat kedua, ikan lumba-lumba, ditentukan menggunakan rentetan, dan juga menyimpan nilai rentetan. Harta ketiga, mamalia, menyimpan objek kosong.
var animal = { dolphin: 1, "swim": "some string", mammal: { } };
Setiap sifat telah ditulis pada baris yang berasingan dan diinden. Keseluruhan objek boleh ditulis pada satu baris, tetapi kod itu lebih mudah dibaca dalam format ini. Ini benar terutamanya untuk objek yang mempunyai banyak sifat atau objek bersarang.
Yang pertama, dan paling biasa, dikenali sebagai notasi titik.
Di bawah tatatanda titik, sesuatu sifat diakses dengan memberikan nama objek hos, diikuti dengan noktah (atau titik), diikuti dengan nama sifat.
Notasi titik ialah cara paling biasa untuk mengakses sifat. Anda hanya menggunakan titik (.) diikuti dengan nama sifat. Contohnya:
Contoh berikut menunjukkan cara notasi titik digunakan untuk membaca dari dan menulis pada sifat. Jika objek.dolphin
pada mulanya memegang nilai satu, maka nilainya akan menjadi dua selepas melaksanakan pernyataan ini.
var animal = {};
Sintaks untuk mengakses sifat objek dikenali sebagai notasi kurungan. Dalam notasi kurungan, nama objek diikuti dengan set tanda kurung segiempat.
Di dalam kurung segi empat sama, nama sifat ditentukan sebagai rentetan.
Contoh tatatanda titik sebelumnya telah ditulis semula di bawah untuk menggunakan tatatanda kurungan. Walaupun kod itu mungkin kelihatan berbeza, ia berfungsi bersamaan dengan contoh sebelumnya.
var animal = { dolphin: 1, "swim": "some string", mammal: { } };
Notasi kurungan lebih ekspresif daripada notasi titik kerana ia membenarkan pembolehubah untuk menentukan semua atau sebahagian daripada nama sifat.
Ini mungkin kerana JavaScript penterjemah menukar secara automatik ungkapan dalam kurungan segi empat sama kepada rentetan, dan kemudian mendapatkan semula sifat yang sepadan.
Contoh berikut menunjukkan cara nama sifat boleh dibuat dengan cepat menggunakan notasi kurungan. Dalam contoh, nama sifat foo dicipta dengan menggabungkan kandungan pembolehubah d, dengan rentetan "dolphin".
animal.dolphin = animal.dolphin + 1;
Notasi kurungan juga membenarkan nama sifat mengandungi aksara yang dilarang dalam tatatanda titik.
Sebagai contoh, pernyataan berikut adalah sah sepenuhnya dalam tatatanda kurungan. Walau bagaimanapun, jika anda cuba mencipta nama sifat yang sama dalam tatatanda titik, anda akan menghadapi ralat sintaks.
object["dolphin"] = object["dolphin"] + 1;
Sifat objek bersarang boleh diakses dengan titik rantai dan/atau rujukan kurungan bersama.
Sebagai contoh, objek berikut mengandungi objek bersarang bernama ikan lumba-lumba, yang mengandungi objek lain bernama mamalia, yang mempunyai sifat bernama tahun yang memegang nilai satu.
var d = "d"; object[d + "dolphin"] = "bar";
Ungkapan berikut mengakses harta bersarang, tahun. Ungkapan pertama menggunakan notasi titik, manakala ungkapan kedua menggunakan notasi kurungan segi empat sama.
Ungkapan ketiga menggabungkan kedua-dua notasi untuk mencapai hasil yang sama.
object["!@#$%^&*()."] = true;
Ungkapan seperti yang ditunjukkan dalam contoh sebelumnya boleh menyebabkan prestasi terjejas jika digunakan secara tidak wajar.
Menilai setiap ungkapan titik atau kurungan memerlukan masa.
Jika sifat yang sama digunakan berbilang kali, maka lebih masuk akal untuk mengakses harta itu sekali, dan kemudian menyimpan nilai dalam pembolehubah setempat untuk semua kegunaan masa hadapan. Contoh berikut menggunakan bar berkali-kali dalam gelung. Walau bagaimanapun, daripada membuang masa mengira nilai yang sama berulang kali, bar disimpan dalam pembolehubah setempat.
var animal = {};
Apabila fungsi digunakan sebagai sifat objek, ia dipanggil kaedah. Seperti sifat, kaedah juga boleh ditentukan dalam notasi literal objek. Contoh berikut menunjukkan cara ini dicapai.
var animal = { dolphin: 1, "swim": "some string", mammal: { } };
Kaedah juga boleh dipanggil menggunakan notasi titik dan kurungan.
Contoh berikut memanggil kaedah sum() daripada contoh sebelumnya menggunakan kedua-dua tatatanda.
animal.dolphin = animal.dolphin + 1;
Notasi literal objek berguna untuk membuat objek baharu, tetapi ia tidak boleh menambah sifat atau kaedah pada objek sedia ada.
Nasib baik, menambah data baharu pada objek semudah membuat pernyataan tugasan.
Contoh berikut mencipta objek kosong.
Dua sifat, ikan lumba-lumba dan mamalia, dan kaedah, tahun, kemudian ditambah menggunakan penyata tugasan.
Ambil perhatian, contoh ini menggunakan notasi titik, tetapi notasi kurungan akan berfungsi sama.
object["dolphin"] = object["dolphin"] + 1;
Ringkasan
Objek adalah jenis data komposit yang dibina daripada primitif dan objek lain. Blok binaan objek biasanya dirujuk sebagai medan atau sifatnya. Sifat digunakan untuk menerangkan beberapa aspek objek. Contohnya, harta boleh menerangkan panjang senarai, warna anjing atau tarikh lahir seseorang.
Jadi JavaScript sintaks objek adalah penting untuk difahami, kerana ia berfungsi sebagai asas bahasa.
Mula-mula anda perlu memahami objek sebelum anda boleh memahami pengaturcaraan berorientasikan objek.
Selamat Pengekodan!
Atas ialah kandungan terperinci Aksesori hartanah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!