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

Bagaimanakah Saya Boleh Mengesan Perubahan Pembolehubah JavaScript?

Patricia Arquette
Lepaskan: 2024-12-18 07:12:10
asal
415 orang telah melayarinya

How Can I Detect JavaScript Variable Changes?

Memerhati Perubahan Pembolehubah dalam JavaScript

Soalan Asal:

Adakah terdapat peristiwa dalam JavaScript yang tercetus apabila nilai pembolehubah tertentu diubah suai? Sila pertimbangkan penyelesaian yang melibatkan jQuery.

Jawapan:

Menggunakan Objek Proksi:

Sehingga 2018, objek Proksi menyediakan mekanisme yang berkesan untuk memantau dan memintas perubahan sifat objek. Ia berfungsi dengan mencipta objek proksi yang membalut objek sasaran.

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

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

Penghadan:

  • Objek proksi tidak disokong dalam penyemak imbas lama (mis., IE11).
  • Mereka mungkin menunjukkan tingkah laku yang tidak dijangka dengan objek khas (cth., Tarikh).

Memerhati Objek Bersarang:

Untuk memerhati perubahan dalam objek bersarang, perpustakaan khusus seperti Observable Slim menawarkan penyelesaian yang lebih komprehensif.

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

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 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan