JS 2015

Plan your projects and define important tasks and actions

Get Started. It's Free
or sign up with your email address
JS 2015 by Mind Map: JS 2015

1. Usefull

1.1. copy

1.1.1. copy(dst, src1, src2…) Копирует свойства из объектов src1, src2,... в объект dst. Возвращает получившийся объект. // скопирует все свойства ПЕРВОГО уровняв пустой объект var userClone = copy({}, user);

1.2. arguments

1.2.1. arguments – это не массив

1.2.2. function sayHi() { for (var i = 0; i < arguments.length; i++) { alert( "Привет, " + arguments[i] ); } }

1.3. window - глобальный объёкт

1.3.1. var a = 5; // объявление var создаёт свойство window.a alert( window.a ); // 5 window.a = 5; alert( a ); // 5

1.3.2. var a = 5, создает свойство window.a = 5. Отличие от var a = 5 – в том, что переменная будет создана не на этапе входа в область видимости, а в момент присвоения.

1.4. контекст

1.4.1. При запуске функция создает объект LexicalEnvironment, записывает туда аргументы, функции и переменные. Процесс инициализации выполняется в том же порядке, что и для глобального объекта, который, вообще говоря, является частным случаем лексического окружения. В отличие от window, объект LexicalEnvironment является внутренним, он скрыт от прямого доступа. function sayHi(name) { // LexicalEnvironment = { name: 'Вася', phrase: undefined } var phrase = "Привет, " + name; // LexicalEnvironment = { name: 'Вася', phrase: 'Привет, Вася'} alert( phrase ); } sayHi('Вася');

1.5. func

1.5.1. Объект счётчика + функция function makeCounter() { var currentCount = 1; // возвращаемся к функции function counter() { return currentCount++; } // ...и добавляем ей методы! counter.set = function(value) { currentCount = value; }; counter.reset = function() { currentCount = 1; }; return counter; } var counter = makeCounter(); alert( counter() ); // 1 alert( counter() ); // 2 counter.set(5); alert( counter() ); // 5

1.5.2. интересный способ вывода ф-ий. (user.name == "Вася" ? user.hi : user.bye)(); // undefined