Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async function asyncFn() {
- console.log('asyncFn start'); // 2
- await Promise.resolve(); // микро 2
- console.log('asyncFn finish'); // 4
- }
- function fn() {
- console.log('hello'); // 1
- setTimeout(function() {
- console.log('setTimeout1'); // макро 1 // 6
- }, 0);
- new Promise(function(resolve) {
- resolve();
- }).then(function() {
- console.log('then1'); // микро 1
- }).then(function() {
- console.log('then2'); // микро 3 // 5
- });
- asyncFn()
- console.log('bye'); // 3
- }
- fn();
- // ==============
- setTimeout(() => console.log('setTimeout'), 0); //макро 1
- function myAsync(start = 0) {
- console.log(start);
- return Promise.resolve(start + 1).then(myAsync);
- }
- myAsync(); // 0, 1, ..., n, ...
- /*
- == 200 OK - server
- 1. parse HTML
- <link rel="preconnect" ...>
- <style src="./style.css" />
- 2. DOM
- 3. CSSOM r
- 4. DOM + CSSOM = Render Tree
- 5. Layout - позиционирование, + layers (+ z-index(возможно в конце))
- 6. Painting - цвета
- ==если что-то поменялось
- бэкграунд - painting
- ==script -
- *empty*
- async
- defer
- HTTP:
- GET
- POST
- PUT
- PATCH
- DELETE
- (OPTIONS, HEAD)
- COOKIE:
- path: куда прикреплять куки /home
- https://code.wb.ru
- secure
- httpOnly
- fetch(.., {
- credentials: true
- })
- Cookie:
- */
- // ===============
- const node = $('.js-node');
- node.addClass('node').toggleClass('item')
- .removeClass('node')
- .css({
- color: 'red',
- paddingTop: '10px'
- })
- .html('<li>hello</li>');
- // элементов несколько
- // аффектятся все
- class Nodes {
- constructor(elements) {
- this.elements = elements;
- }
- addClass(className) {
- this.elements.forEach(element => {
- element.classList.add(className);
- });
- return this;
- }
- removeClass(className) {
- this.elements.forEach(element => {
- element.classList.remove(className);
- });
- return this;
- }
- css(style) {
- Object.entires(style).forEach(entries => {
- const [styleName, styleValue] = entries;
- this.elements.forEach(element => {
- element.style[styleName] = styleValue;
- });
- })
- return this;
- }
- html(text) {
- this.elements.forEach(element => {
- element.innerHTML = text;
- });
- return this;
- }
- }
- function $(selector) {
- const elements = document.querySelectorAll(selector);
- return new Nodes(elements);
- }
Advertisement
Add Comment
Please, Sign In to add comment