Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengesan Perubahan Pembolehubah dalam JavaScript?

Bagaimanakah Saya Boleh Mengesan Perubahan Pembolehubah dalam JavaScript?

DDD
Lepaskan: 2024-12-29 06:38:09
asal
392 orang telah melayarinya

How Can I Detect Variable Changes in JavaScript?

Mendengar Perubahan Pembolehubah dalam JavaScript

Dalam JavaScript, selalunya wajar untuk dimaklumkan apabila nilai pembolehubah berubah. Ini boleh dicapai menggunakan objek Proksi, yang diperkenalkan pada 2018. Objek Proksi membenarkan penciptaan proksi yang memintas perubahan sifat dan bertindak balas sewajarnya.

Untuk menggunakan objek Proksi, mula-mula buat objek sasaran untuk menjadi diperhatikan:

var targetObj = {};
Salin selepas log masuk

Seterusnya, cipta proksi menggunakan objek Proksi, menyatakan panggilan balik untuk dilaksanakan apabila harta set:

var targetProxy = new Proxy(targetObj, {
  set: function (target, key, value) {
      console.log(`${key} set to ${value}`);
      target[key] = value;
      return true;
  }
});
Salin selepas log masuk

Apabila sifat objek sasaran ditetapkan melalui proksi, fungsi panggil balik dilaksanakan. Contohnya:

targetProxy.hello_world = "test"; // console: 'hello_world set to test'
Salin selepas log masuk

Objek Proksi mempunyai kelemahan kerana ia tidak tersedia dalam penyemak imbas lama dan mungkin tidak berkelakuan seperti yang diharapkan dengan objek tertentu. Untuk memerhatikan perubahan dalam objek bersarang, perpustakaan khusus seperti Observable Slim boleh digunakan.

Observable Slim

Observable Slim ialah perpustakaan yang direka untuk memerhati perubahan dalam objek bersarang. Untuk menggunakannya, mula-mula buat objek untuk diperhatikan:

var test = {testing:{}};
Salin selepas log masuk

Kemudian, gunakan Observable Slim untuk mencipta proksi dengan fungsi cipta, menyatakan panggilan balik untuk dilaksanakan apabila perubahan berlaku:

var p = ObservableSlim.create(test, true, function(changes) {
    console.log(JSON.stringify(changes));
});
Salin selepas log masuk

Apabila sifat objek yang diperhatikan berubah, fungsi panggil balik dilaksanakan. Contohnya:

p.testing.blah = 42; // console:  [{"type":"add","target":{"blah":42},"property":"blah","newValue":42,"currentPath":"testing.blah",jsonPointer:"/testing/blah","proxy":{"blah":42}}]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Perubahan Pembolehubah dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan