Пытаюсь расширить класс Array
при помощи prototype
, добавив в него свой метод, но при обходе массива циклом созданный метод видится элементом массива:
Array.prototype.fun = (function() {
})();
var arr = [1, 2];
for (var i in arr) {
alert(i);
}
https://jsfiddle.net/phojh6qk/
Я что-то делаю неправильно?
Метод defineProperty
позволяет задать такие параметры, в том числе, и enumerable
- чтобы созданное свойство не было видно при обходе массива циклом:
Object.defineProperty(Array.prototype, 'fun', {
value: function() {
}
});
По умолчанию, значение enumerable
установлено в false
.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Использую input и кнопку для получения данных из оногоJs имею такой вот код: