Javascript - Uncaught ReferenceError: ключи не определены
Я получаю сообщение об ошибке при запуске следующей команды в включенном script. Но если я запустил команду с консоли Google Chrome, она работает правильно.
var a = {};
console.log(keys(a));
Ошибка:
Uncaught ReferenceError: keys is not defined
Что здесь происходит? Как я могу использовать функцию keys
в включенном script?
Ответы
Ответ 1
console.log(keys(a))
keys()
не является функцией, предоставляемой браузером для использования в вашем коде. Вероятно, вы хотите Object.keys()
a = {};
console.log(Object.keys(a));
Иногда консоль имеет дополнительные функции, доступные для нее, для облегчения использования отладки, которые недоступны в вашем реальном коде. keys()
звучит как один, а copy('some text')
- другой.
Я не могу найти ссылку, которая их перечисляет, к сожалению. Но я уверен, что есть более двух функций.
Ответ 2
Всякий раз, когда вы получаете такую ошибку, попробуйте найти определение функции/переменной, которая была указана как undefined. Если это определено, попробуйте найти причину, по которой это может не работать. Знаете ли вы, что функция keys
отличается от конструктора Object
? Вы не можете назвать это так, как если бы это была самостоятельная функция. Хотя, если вы привыкнете к этому, попробуйте сделать свою собственную функцию, чтобы это разрешить:
function key( object ) {
return Object.keys( object );
}
Ваш код должен пройти с таким определением.