Вопросы с тегом «ecmascript-5»

1543
Какова цель ключевого слова var и когда я должен его использовать (или опустить)?

ПРИМЕЧАНИЕ . Этот вопрос был задан с точки зрения ECMAScript версии 3 или 5. Ответы могут устареть с появлением новых функций в выпуске ECMAScript 6. Что именно является функцией varключевого слова в JavaScript, и в чем разница между var someNumber = 2; var someFunction = function() { doSomething;...

372
Получить массив ключей объекта

Я хотел бы получить ключи объекта JavaScript в виде массива, либо в jQuery, либо в чистом JavaScript. Есть ли менее многословный способ, чем этот? var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' }; var keys = []; for (var key in foo) { keys.push(key);...

164
Разница между заморозкой и печатью

Я только что услышал о методах JavaScript freezeи seal, которые можно использовать для того, чтобы сделать любой объект неизменным. Вот короткий пример, как его использовать: var o1 = {}, o2 = {}; Object.freeze(o2); o1["a"] = "worked"; o2["a"] = "worked"; alert(o1["a"]); //prints "worked"...

135
Что делает [] .forEach.call () в JavaScript?

Я просматривал некоторые фрагменты кода и обнаружил, что несколько элементов вызывают функцию по списку узлов с применением forEach к пустому массиву. Например, у меня есть что-то вроде: [].forEach.call( document.querySelectorAll('a'), function(el) { // whatever with the current node }); но я не...

108
Javascript Уменьшить пустой массив

Когда я уменьшаю массив, я пытаюсь получить нулевое число, но я не совсем понимаю поведение функции [].reduce(function(previousValue, currentValue){ return Number(previousValue) + Number(currentValue); }); результат TypeError: Reduce of empty array with no initial value кажется, что если массив...

88
Динамически устанавливаемое свойство вложенного объекта

У меня есть объект, который может иметь любое количество уровней глубины и может иметь любые существующие свойства. Например: var obj = { db: { mongodb: { host: 'localhost' } } }; При этом я хотел бы установить (или перезаписать) такие свойства: set('db.mongodb.user', 'root'); // or:...

87
Почему объекты в JavaScript не обрабатываются?

Почему по умолчанию объекты не повторяются? Я все время вижу вопросы, связанные с итерацией объектов, обычное решение - перебирать свойства объекта и таким образом получать доступ к значениям внутри объекта. Это кажется настолько обычным, что мне интересно, почему сами объекты не повторяются....