Я не очень разбираюсь в JavaScript-эксперте и пытаюсь выяснить, как я могу расширить существующий объект.расширение набора функций объекта Javascript
HTML:
<li data-brandtarget="Netherlands"><img src="images/netherlands.png" alt="Netherlands">Netherlands</li>
<li data-brandtarget="Netherlands"><img src="images/netherlands.png" alt="Netherlands">Netherlands</li>
JS:
MedicareDataSource.prototype.FEATURES_ = new storeLocator.FeatureSet(
// Brand Fetures
new storeLocator.Feature('Aquafleur-YES', 'Aquafleur'),
new storeLocator.Feature('Aquafarm-YES', 'Aquafarm'),
new storeLocator.Feature('Bm_Web-YES', 'Blue Marine'),
// The below mentioned features I want to be added based on a loop
//new storeLocator.Feature('Naamlandnat-Netherlands', 'Netherlands'),
//new storeLocator.Feature('Naamlandnat-Great Britain', 'Great Britain'),
//new storeLocator.Feature('Naamlandnat-France', 'France'),
//new storeLocator.Feature('Naamlandnat-Germany', 'Germany')
);
Я пытаюсь сделать страну особенности динамичным. Поэтому я просматриваю все списки и получаю атрибут. Теперь во время цикла, как я могу расширить и добавить новую функцию к существующему объекту? Ниже мой подход.
jQuery('.country-options li').each(function(){
var countryName = jQuery(this).attr('data-brandtarget');
MedicareDataSource.prototype.FEATURES_ = new storeLocator.FeatureSet(
// Country Features
new storeLocator.Feature('Naamlandnat-'+ countryName, countryName)
);
});
Я знаю, что это неправильно, потому что я думаю: я снова и снова создавать новый объект с каждой петлей, которая перезаписывает существующий объект и, таким образом, только последняя функция остается в объекте.
Итак, каков правильный способ расширения функций без перезаписи существующего набора функций здесь?
Я также попытался: путем удаления new
и держать его просто storeLocator.FeatureSet(...);
внутри цикла, но не работает.
Спасибо за помощь. –