Предположим, я следующий обработчик события:Почему эти неопределенные переменные не равны javascript?
function handleCsvDump(e) {
console.log(e.currentTarget.getAttribute('download'));
e.currentTarget.download = undefined;
console.log(e.currentTarget.getAttribute('download'));
console.log(e.currentTarget.getAttribute('download') === undefined);
информация записывается в консоль, когда соответствующая кнопка нажата является:
mycsv.csv
undefined
false
Почему последнее значение false
? Так как e.currentTarget.getAttribute('download')
- undefined
, не правда ли? Если это неправильный способ сделать это, как я могу проверить, не указана ли переменная?
Посмотрите на [документации GetAttribute()] (HTTPS://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute): * getAttribute() возвращает значение указанного атрибута элемента. Если данный атрибут не существует, возвращаемое значение будет либо нулевым, либо «" (пустая строка); * –
Вы уверены, что когда вы выполнили 'download = undefined', он не принуждал его к строке, и фактически установите значение '' undefined ''. Ваш журнал консоли похож на «mycsv.csv», «undefined», false' или «mycsv.csv», undefined, false'? –
Джеймс, консольный журнал был похож на 'mycsv.csv'. 'undefined',' false'. Не было кавычек. –