كيف يمكنني إضافة طريقة مخصصة إلى فئة التخزين في JavaScript

StackOverflow https://stackoverflow.com/questions/20353420

  •  25-08-2022
  •  | 
  •  

سؤال

هل يمكنني فعل هذا ؟

localStorage.myfunction = function () { ... }

إن لم يكن لماذا؟ هل هناك أي طرق بديلة؟

هل كانت مفيدة؟

المحلول

سأكون حريصًا جدًا على تعديل سلوك كائنات مثل هذا. من الأفضل عادة توفير غلاف لـ LocalStorage (أو الاستخدام store.js أو مكتبة أخرى) لتقديم الميزات التي تريدها.

في حالة أنك فعل تريد إضافة طريقة أو خاصية إلى LocalStorage ، يمكنك القيام بذلك عن طريق إضافتها إلى النموذج الأولي لمركيبها:

typeof(localStorage.prototype); // "undefined"
localStorage.constructor // function Storage() { [native code] }

Storage.prototype.foo = function () { return 'foo'; }
// setting a method on the constructor allows each localStorage instance
// to inherit and use it 
localstorage.foo() // 'foo'

نصائح أخرى

لماذا تريد أن تفعل شيئًا كهذا؟ استعمال:

window.myfunction = function(){
    // do stuff here
};

لحفظ وظيفتك على مستوى المتصفح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top