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

ECMAScript - это название международного стандарта Ecma 262. Он основан на языке сценариев JavaScript, который был предоставлен Netscape для Ecma для стандартизации. 5-е издание - это обновление спецификации третьего издания после отмены 4-го издания. Он добавляет новые функции, включая строгий режим, геттеры и сеттеры, объект JSON и новые методы для прототипов объектов, массивов, дат и функций.
19

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

ПРИМЕЧАНИЕ. Этот вопрос задавался с точки зрения ECMAScript версии 3 или 5. Ответы могут устареть с введением новых функций в выпуске ECMAScript 6. Что такое функция ключевого слова var в JavaScript и какая разница между var someNumber = 2; va...
24 сент. '09 в 8:54
8

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

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

как остановить Javascript для каждого?

Я играю с nodejs и mongoose - пытаясь найти конкретный комментарий в глубоких комментариях, вложенных с рекурсивными func и foreach внутри. Есть ли способ остановить nodejs forEach? Поскольку я понимаю, что каждая forEach итерация является функцией, ...
07 июн. '11 в 5:00
7

Разница между замораживанием и печатью в Javascript

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

Создание диапазона в JavaScript - странный синтаксис

Я запустил следующий код в списке рассылки es-discuss: Array.apply(null, { length: 5 }).map(Number.call, Number); Это создает [0, 1, 2, 3, 4] Почему это результат кода? Что здесь происходит?
22 сент. '13 в 19:30
8

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

Я искал некоторые фрагменты кода, и я нашел несколько элементов, вызывающих функцию над списком node, с forEach, применяемым к пустому массиву. Например, у меня есть что-то вроде: [].forEach.call( document.querySelectorAll('a'), function(el) { ...
17 апр. '13 в 6:48
9

Как реализовать частный метод в классе ES6 с помощью Traceur

Я использую Traceur Compiler, чтобы иметь преимущество с функциями ES6. Я хочу реализовать этот материал с ES5: function Animal() { var self = this, sayHi; sayHi = function() { self.hi(); }; this.hi = function() {...
08 янв. '15 в 20:35
1

Почему 019 не является синтаксической ошибкой JavaScript? Или почему 019> 020

Если я наберу 019 > 020 в консоли JavaScript (протестирован как в Chrome, так и в Firefox), я получаю ответ true. Это связано с тем, что 020 интерпретируется как OctalIntegerLiteral (равно 16), тогда как 019, по-видимому, интерпретируется как ...
24 янв. '15 в 15:15
6

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

Почему объекты по умолчанию не повторяются? Я все время вижу вопросы, связанные с итерационными объектами, причем общее решение заключается в переходе по свойствам объекта и доступе к значениям внутри объекта таким образом. Это кажется настолько р...
27 апр. '15 в 3:12
7

Любое преимущество в производительности для "блокировки" объектов JavaScript?

JavaScript 1.8.5 (ECMAScript 5) добавляет некоторые интересные методы, которые предотвращают будущие изменения пройденного объекта с различной степенью тщательности: Object.preventExtensions(obj) Object.seal(obj) Object.freeze(obj) Предположите...
08 дек. '11 в 17:29
15

Динамически задавать свойство вложенного объекта

У меня есть объект, который может быть любым количеством уровней в глубину и может иметь любые существующие свойства. Например: var obj = { db: { mongodb: { host: 'localhost' } } }; На этом я хотел бы установить...
21 сент. '13 в 19:50
10

когда вы используете Object.defineProperty()

Мне интересно, когда я должен использовать Object.defineProperty для создания новых свойств объекта. Я знаю, что я могу установить такие вещи, как enumerable: false но когда вам это нужно? Если вы просто установите свойство типа myObject.mypr...
11 апр. '12 в 12:23
2

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

Когда я уменьшаю массив, я пытаюсь получить число ноль, но я не понимаю, как работает функция [].reduce(function(previousValue, currentValue){ return Number(previousValue) + Number(currentValue); }); результат TypeError: Reduce of empty array w...
29 апр. '14 в 8:15
1

Косвенный вызов eval в строгом режиме

Я понимаю, как eval() работает в нестрогих контекстах, однако случай использования eval() в строгом режиме полностью меня пугал. Когда eval() вызывается непосредственно в глобальной области видимости, переменные хранятся внутри новой области eval():...
14 окт. '13 в 10:14
3

Могу ли я отключить строгий режим ECMAscript для определенных функций?

Я не нашел ничего о моем вопросе здесь, в MDC или спецификациях ECMAscript. Вероятно, кто-то знает более "хакерский" способ решить эту проблему. Я вызываю "use strict" в каждый файл javascript в своей среде. Все мои файлы начинаются следующим образ...
16 мая '11 в 16:11