Rumah > hujung hadapan web > tutorial js > Buat kelas tindakan berantai dalam JavaScript

Buat kelas tindakan berantai dalam JavaScript

PHPz
Lepaskan: 2023-09-17 12:13:08
ke hadapan
1264 orang telah melayarinya

在 JavaScript 中创建链式操作类

Soalan

Kita harus mencipta Streak jenis data yang ditentukan pengguna dalam JavaScript yang boleh digunakan dengan Nilai dan tindakan dipautkan kepada mana-mana skop 强> atau

Nilai boleh menjadi salah satu daripada rentetan berikut -

→ one, two three, four, five, six, seven, eight, nine
Salin selepas log masuk
#🎜🎜 #Tindakan boleh menjadi salah satu rentetan berikut -

→ plus, minus
Salin selepas log masuk

Sebagai contoh, jika kita melaksanakan perkara berikut dalam konteks kelas -

Streak.one.plus.five.minus.three;
Salin selepas log masuk

maka output sepatutnya -

const output = 3;
Salin selepas log masuk

Output explanation

Sebab operasi yang berlaku ialah-

1 + 5 - 3 = 3
Salin selepas log masuk

Contoh#🎜🎜🎜🎜#🎜 kod-

#🎜🎜 # Demonstrasi masa nyata

const Streak = function() {
   let value = 0;
   const operators = {
      'plus': (a, b) => a + b,
      'minus': (a, b) => a - b
   };
   const numbers = [
      'zero', 'one', 'two', 'three', 'four', 'five',
      'six', 'seven', 'eight', 'nine'
   ];
   Object.keys(operators).forEach((operator) => {
      const operatorFunction = operators[operator];
      const operatorObject = {};
      numbers.forEach((num, index) => {
         Object.defineProperty(operatorObject, num, {
            get: () => value = operatorFunction(value, index)
         });
      });
      Number.prototype[operator] = operatorObject;
   });
   numbers.forEach((num, index) => {
      Object.defineProperty(this, num, {
         get: () => {
            value = index;
            return Number(index);
         }  
      });
   });
};
const streak = new Streak();
console.log(streak.one.plus.five.minus.three);
Salin selepas log masuk

Output

Berikut ialah output konsol-

3
Salin selepas log masuk
#🎜

Atas ialah kandungan terperinci Buat kelas tindakan berantai dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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