Подтвердить что ты не робот

Javascript - Uncaught ReferenceError: ключи не определены

Я получаю сообщение об ошибке при запуске следующей команды в включенном script. Но если я запустил команду с консоли Google Chrome, она работает правильно.

var a = {};
console.log(keys(a));

Ошибка:

 Uncaught ReferenceError: keys is not defined 

Что здесь происходит? Как я могу использовать функцию keys в включенном script?

4b9b3361

Ответ 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 );

}

Ваш код должен пройти с таким определением.