#javascript #methods #console #hasownproperty
#javascript #методы #консоль #hasownproperty
Вопрос:
Мне просто интересно, почему, когда я вызываю метод ‘hasOwnProperty’ несколько раз, мне возвращается только одно логическое значение в консоли? Всегда возвращается последний вызов. Остальная часть моего кода полностью функциональна, и если я переключаю порядок, который я вызываю, чтобы проверить, где находятся 3 свойства, он возвращает тот вызов, который был последним.
spot.hasOwnProperty("sit");
spot.hasOwnProperty("name");
spot.hasOwnProperty("species");
Приветствия, ребята.
Ответ №1:
Все они возвращаются, но консоль просто отображает вывод последней команды; Вы можете поместить их в массив, чтобы увидеть все ответы сразу
[spot.hasOwnProperty('sit'), spot.hasOwnProperty('name')]
Ответ №2:
Из-за отсутствия контекста я предполагаю, что это сводится только к логической логике. Если вы проверяете свои действия по одному, вы получите правильное значение.
var spot = {};
spot.sit = true;
//spot.name = "Spot";
spot.species = "dog";
console.log(spot.hasOwnProperty('sit'));
console.log(spot.hasOwnProperty('name'));
console.log(spot.hasOwnProperty('species'));
Есть 2 варианта, если вы проверяете все значения одновременно: логическое И ( amp;amp;
) или логическое ИЛИ ( ||
) .
var spot = {};
//spot.sit = true;
spot.name = "Spot";
spot.species = "dog";
// Boolean OR
console.log(spot.hasOwnProperty('sit') || spot.hasOwnProperty('name') || spot.hasOwnProperty('species'));
// Boolean AND
console.log(spot.hasOwnProperty('sit') amp;amp; spot.hasOwnProperty('name') amp;amp; spot.hasOwnProperty('species'));