Rumah > Artikel > hujung hadapan web > Nilai JavaScript vs rujukan
Dalam JavaScript, atau lebih tepat pengaturcaraan, pembolehubah ialah lokasi dalam ingatan komputer yang digunakan untuk menyimpan data. Pembolehubah diisytiharkan (diberi nama, pengecam) dan boleh diberikan nilai serta-merta atau kemudian, bergantung pada bahasa. Pembolehubah ini kemudiannya boleh dirujuk kemudian dalam program dan bukannya secara eksplisit menyatakan nilai yang sama sekali lagi.
Dalam JavaScript, data dihantar dalam bentuk nilai, nilai ini mungkin sama ada nilai primitif atau objek. Sebagai pembangun JavaScript, memahami cara JavaScript mengendalikan data adalah penting untuk mempunyai asas yang kukuh dalam bahasa.
Nilai primitif termasuk:
Nilai objek sebaliknya ialah:
Jenis nilai ini berkelakuan berbeza apabila diedarkan, pertimbangkan coretan di bawah:
var myName = "Fred";
var otherName = myName;
myName = "Ashley";
console.log(nama saya); //Ashley
console.log(otherName); //Fred
Perhatikan bahawa otherName kekal sama walaupun ia kelihatan seperti "salinan" myName. Sebenarnya, apa yang sebenarnya berlaku ialah apabila otherName diberikan myName, ia tidak ditetapkan sebagai salinan rentetan "Fred", sebaliknya, rentetan baru "Fred" telah dicipta. Oleh itu, tiada pautan langsung antara myName dan otherName. Beginilah cara JavaScript menghantar nilai primitif.
Nilai objek dikendalikan secara berbeza, lihat coretan di bawah:
var myObj = {warna: "merah"};
var otherObj = myObj;
myObj.color = "biru";
console.log(myObj.color); //biru
console.log(otherObj.color); //biru
Di sini, dan objek telah dicipta dan diperuntukkan kepada myObj, yang kemudiannya diperuntukkan kepada otherObj, lihat cara sifat warna otherObj dan myObj kedua-duanya ditukar hanya dengan menukar sifat warna myObj. Ini kerana nilai objek dihantar sebagai rujukan. myObj tidak merujuk secara langsung kepada objek, ia menunjuk kepada rujukannya sebaliknya, otherObj kemudiannya diberikan myObj yang merupakan rujukan kepada objek sebenar. Oleh itu, kedua-dua pembolehubah dipautkan kepada objek yang sama kerana ia menunjuk kepada rujukan yang sama, perubahan dalam satu mempengaruhi yang lain.
Inilah sebabnya perbandingan (===) dua objek secara langsung mengembalikan palsu, anda betul-betul membandingkan dua rujukan berbeza. Di sini, myObj === otherObj kembali benar kerana kami membandingkan rujukan yang sama.
Saya harap ini memberi anda perspektif baharu tentang cara JavaScript berfungsi di belakang tabir.
Sehingga itu, kekal bebas pepijat.
Atas ialah kandungan terperinci Nilai JavaScript vs rujukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!