AbstractProduct.prototype.getFullInformation = function() {
var str = "";
for (var key in this) {
if(this.hasOwnProperty(key) && typeof (key) !== "function"){
console.log(typeof key);
str += " " + key + ":" + this[key] + " \n";
}
}
return str;
};
function Clothes(param) {
this.ID = param.ID;
this.name = param.name;
this.description = param.descrip;
this.price = param.price;
this.images = param.images;
this.reviews = param.reviews;
this.bla = function() {
return "tratata";
}
}
Есть метод который перебирает объект и записывает только свои свойства, без методов. Но проверка typeof на функцию не работает, и метод тоже записывается. Почему? И как это исправить ?
console.log( lunar.getFullInformation() );
вывод должен быть вот такой, только без метода в конце, только свойства.
ID:15
name:pants
description:bla bla
price:201.5
images:image1,image2
material:poliester
color:navy
brand:puma
sizes:XS,S,M,L,XL,XXL
activeSize:S
quantity:5
date:Sun Feb 10 2013 00:00:00 GMT+0200 (Финляндия (зима))
reviews:[object Object],[object Object],[object Object]
bla:function () {
console.log("Sda");
}
Как указано в описании
for (variable in object) { ...
}
variable
- различные имена свойств присваиваемые переменной на каждой итерации.
Имена свойств - это строки, таким образом, тип переменной key
в вопросе всегда "string".
Так как нужно проверить тип свойства, сначала его нужно получить по указанному ключу key
и только потом проверять.
for (var key in this) {
if(this.hasOwnProperty(key) && typeof (this[key]) !== "function"){
str += " " + key + ":" + this[key] + " \n";
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходимо сделать следующий функционал, чтобы при вводе символов с клавиатуры в input вызывалось модальное окно и то что юзер ввел в первом...
Добрый день друзья, у меня проблема с адаптацией моего слайдера
Всем привет :) Мне дали задачу создать telegram бота при помощи https://botmanio и Laravel