Сообщения

Показаны сообщения с ярлыком "javascript"

Курс молодого Frontend'ера

 JavaScript https://habr.com/ru/post/305900/ https://habr.com/ru/post/460741/ https://babeljs.io/docs/en/learn/ https://egghead.io/lessons/javascript-const-declarations-in-es6-es2015 Выразительный Javascript -  https://habr.com/ru/post/253101/ Вопрос 1:  Написать функцию суммирования в виде f(3)(2) // return 5 Ответ 1.1: function f(a) {   return function(b) {   return a + b;   } } Ответ 1.2: используется часто в React - HOC, также можно исплользовать в замыканиях, например для bind или для задачи ниже. Вопрос 2: Исправить ошибку function makeArmy() {     var shooters = [];     for(var i = 0; i < 10; i++) {   var shooter = function() {  console.log(i);    };   shooters.push(shooter);   }     return shooters; } var army = makeArmy(); army[0](); // 10 instead of 0 army[5](); // 10 instead of 5 army[9](); // 10  instead of 9 Ответ 2.1: через let for(var i = 0; i < 10...

JS Class with private

К сожалению JavaScript и Java одинаковы лишь первыми 4 буквами. Так например появление классов в ES6 это лишь иллюзия, никаких private\protected переменных и методов оно не принесло, но стоит отметить что код стало писать просто, не нужно запоминать эти старые подходы с прототипированием: function inherit ( ChildClass, ParentClass ) { function tmp ( ) {}; tmp.prototype = ParentClass.prototype; ChildClass.prototype = new tmp(); ChildClass.prototype.constructor = ChildClass; ChildClass.prototype.super = ParentClass.prototype; } ( function ( ) { function ParentClass ( name ) { this .name = name; } ParentClass.prototype.printName = function ( ) { console .log( this .name); }; function ChildClass ( name ) { this .super.constructor.call( this , name+ "qqq" ); } ChildClass.prototype.newPrintName = function ( ) { this .method(); }; inherit(ChildClass, ParentClass); window .ParentClass = ParentClass; window .ChildClass = ChildClass; }()); var child...

AngularJS dynamization

Замечу что речь пойдет про AngularJS 1.x Если хочется сделать динамическое ангуляр приложение, которое в любой момент может подгрузить что-нибудь еще ангуляр модуль, то просто так это сделать не получится. Например можно сделать два ангуляр модуля рядом: < div id = "HelloWorldApp" ng-app = "HelloWorldApp"> < div ng-controller = "HelloWorldController"> < h1> {{greeting}}< / h1> < / div> < / div> < div id = "HelloUserApp" ng-app = "HelloUserApp"> < / hello-User-Component> </ div> Но нельзя вставить их друг в друга < div id = "HelloWorldApp" ng-app = "HelloWorldApp"> < div id = "HelloUserApp" ng-app = "HelloUserApp" >< / div> < / div> По этой же причине нельзя вставить див внутрь ангуляр приложения и потом его запустить. А т.к. почти всегда ангурял занимает всю страницу...