Запитання з тегом «ecmascript-5»

19
Яка мета ключового слова var і коли я повинен його використовувати (або пропустити)?
ПРИМІТКА . Це питання було задано з точки зору версії 3 або 5. ECMAScript. Відповіді можуть застаріти, якщо з'явиться нові можливості у випуску ECMAScript 6. Яка саме функція varключового слова в JavaScript, і в чому різниця між var someNumber = 2; var someFunction = function() { doSomething; } var someObject …

7
Отримайте масив ключів об'єкта
Я хотів би отримати ключі об’єкта JavaScript як масив, або в jQuery, або в чистому JavaScript. Чи є менш дослівний спосіб, ніж цей? var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' }; var keys = []; for (var key in foo) { keys.push(key); }

8
Різниця між заморожуванням і ущільненням
Я тільки чув про методи JavaScript freezeі seal, які можуть бути використані , щоб зробити якийсь - або незмінний об'єкт. Ось короткий приклад, як його використовувати: var o1 = {}, o2 = {}; Object.freeze(o2); o1["a"] = "worked"; o2["a"] = "worked"; alert(o1["a"]); //prints "worked" alert(o2["a"]); //prints "undefined" У чому різниця між …

12
Що робить [] .forEach.call () у JavaScript?
Я дивився на деякі фрагменти коду, і виявив кілька елементів, що викликають функцію над списком вузлів із застосуванням forEach до порожнього масиву. Наприклад, у мене є щось на кшталт: [].forEach.call( document.querySelectorAll('a'), function(el) { // whatever with the current node }); але я не можу зрозуміти, як це працює. Хтось може …


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

7
Чому об’єкти не піддаються ітерації в JavaScript?
Чому за замовчуванням об’єкти не можна повторити? Я постійно бачу запитання, пов’язані з ітерацією об’єктів, загальним рішенням є перегляд властивостей об’єкта та доступ до значень в об’єкті таким чином. Це здається настільки звичним, що змушує задуматися, чому самі об’єкти не піддаються ітерації. Такі твердження, як ES6, for...ofбуло б непогано використовувати …

17
Динамічно задана властивість вкладеного об'єкта
У мене є об’єкт, який може бути глибиною будь-якої кількості рівнів і мати будь-які існуючі властивості. Наприклад: var obj = { db: { mongodb: { host: 'localhost' } } }; На цьому я хотів би встановити (або перезаписати) такі властивості: set('db.mongodb.user', 'root'); // or: set('foo.bar', 'baz'); Де рядок властивостей може …

1
Чому 019 не є синтаксичною помилкою JavaScript? Або чому 019> 020
Якщо я вводжу 019 > 020в консоль JavaScript (протестовано як у Chrome, так і у Firefox), я отримую відповідь true. Це пояснюється 020інтерпретацією як OctalIntegerLiteral(рівних 16), тоді як 019, очевидно, інтерпретується як DecimalLiteral(і рівних 19). Як 19більше 16, 019 > 020є true. Мене спантеличує те, чому 019інтерпретується як “ DecimalLiteralв …

3
Чи можу я вимкнути жорсткий режим ECMAscript для певних функцій?
Я не знаходжу нічого про своє запитання тут щодо MDC чи специфікацій ECMAscript. Напевно, хтось знає більш "хакі" спосіб вирішити це. Я закликаю "use strict"кожен файл JavaScript у своєму середовищі. Всі мої файли починаються так (function(win, doc, undef) { "use strict"; // code & functions }(window, window.document)); Тепер у мене …

7
Чи є спосіб перевірити, чи дотримується суворий режим?
Чи є який-небудь спосіб перевірити, чи дотримується суворий режим «використовувати строгий», і ми хочемо виконати інший код для суворого режиму та інший код для несуворого режиму. Шукаю функцію типуisStrictMode();//boolean

6
Будь-яка вигода від “блокування” об’єктів JavaScript?
JavaScript 1.8.5 (ECMAScript 5) додає кілька цікавих методів, що запобігають майбутнім модифікаціям переданого об’єкта з різним ступенем ретельності: Object.preventExtensions(obj) Object.seal(obj) Object.freeze(obj) Імовірно, головним пунктом їх є виявлення помилок: якщо ви знаєте, що не хочете модифікувати об'єкт після певної точки, ви можете заблокувати його, щоб помилка видала помилку, якщо ви ненавмисно …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.