1、静态公有方法

(function(){var privateVariable=10;function privateFunction(){return false;}MyObject=function(){}MyObject.prototype.publicMethod=function(){privateVariable++;return this;}
})();
var a=new MyObject();
console.log(a.publicMethod());

MyObject在私有作用域中在原型上挂载了一个公有方法,可以访问私有作用域中的变量。
思考:原型上的函数的作用域含有被添加时的作用域。
2、js运行机制(Event Loop)
分为主线程和任务队列,主线程为空时,会读取任务队列中的事件(代码)。
任务队列是一个事件队列,只要指定过回调函数的事件在事件发生时就会进入任务队列。
回调函数:会被主线程挂起来的代码,异步任务必须指定回调函数。
settimeout和setInterval是到设置的事件后才触发回调函数,也就是添加到任务队列中。这里设置的时间是相对于在下一轮事件循环开始时的时间的间隔。这个时间是js执行到settimeout这个语句开始计算。h5中对时间标准化,最小4ms,不足则补齐
通过阅读Promise/A+规范,可以得知异步的实现可分为两个机制,分别是macro-task和micro-task。
Macrotasks包括: script(整体代码)、setTimeout, setInterval, setImmediate, I/O, UI Rendering;
Microtasks包括: process.nextTick, Promise, Object.observe, MutationObserver。
Macrotasks、Microtasks执行机制:
1.主线程执行完后会先到micro-task队列中读取可执行任务
2.主线程执行micro-task任务
3.主线程到macro-task任务队列中读取可执行任务
4.主线程执行macro-task任务
5....转到Step 1
这里注意的是,UI Rendering是在micro-task之后执行,需要在UI渲染之前执行的逻辑,一般采用micro-task异步回调方式进行调用
5、说明this几种不同的使用场景
作为构造函数执行:指向new生成的对象
作为对象属性执行:指向调用的对象
作为普通函数执行:指向调用的对象
作为回调函数执行:指向调用时的上下文
settimeout和setInterval:指向调用时的上下文即window
闭包:指向当前函数
箭头函数:指向定义时的上下文
call、apply、bind

前端周记20190211-20190215相关推荐

  1. HY的Web前端周记 Day1

    HY的Web前端开发周记 Day1 引子 2021.3.04,信息管理创新实践课程开始学习.主要了解了关于HTML.CSS.JavaScript 的基本概念及其用途,并对html基础元素.属性有了一定 ...

  2. 2019-02-11~2019-02-15

    2019-02-15 [1] DeepLab后续之DeeperLab 论文题目:DeeperLab: Single-Shot Image Parser 作者:Tien-Ju Yang, Maxwell ...

  3. 2022年博客之星排行榜 日榜 2023-01-04 博客之星总榜

    ​ 2022年博客之星排行榜 日榜 2023-01-04 博客之星总榜 文章目录 是什么?: 博主链接: 原力等级9 总结: 是什么?: 数据来源 :https://pachong.vip/csdn/ ...

  4. 前端技术周刊 2019-02-11 Serverless

    前端技术周刊 2019-02-11 前端快爆 Chrome 72 的安卓版正式启用了 Trusted Web Activity 功能,可以使得一个 PWA 应用能够在 Google Play Stor ...

  5. 前端实习周记06 (遇到棘手问题不要一路走到黑,山穷水复疑无路,柳暗花明又一村)

    前端实习周记06 本周遇到了一个想想就肝疼的坑. 做一个页面需要使用附件下载的接口.情况是这样的: 在发起下载http请求后,后端直接传递了一个二进制文件,可以接受但是一直未能跳转下载,尝试解决这个问 ...

  6. 2019/01/29 一位前端实习生 艰辛过程 励志 实习周记(五)——第六周

    这一周已经过去了,年底了,31号准备回家过年了,我来讲述一下这一周所发生的事情或者学习到的一些东西. 总得来说这一周,公司没有分配任务给我们,让我们自学,自己捣鼓捣鼓,我突然想起来毕业设计都还没有开始 ...

  7. 2019/01/07 一位前端实习生 艰辛过程 励志 实习周记(三)——第二 三周

    经过第一周的努力,我们第二周就把之前的项目给完成了,也是获益匪浅,到了第二周,大哥就安排我们去了解React框架,为以后编程的道路奠定一些框架的基础,还有可能后面会用到这个框架做项目. 这个React ...

  8. 2019/01/01 一位前端实习生 艰辛过程 励志 实习周记(二)——第一周

    第一天实习上岗,提前了半个小时到公司,来得比较早,公司没人,因为是要刷指纹的,也进不去,只能在门外等候其他同事的到来. 没过多久就来人了,"您好,我是新来的实习生!",出于礼貌,我 ...

  9. 前端实习生400字周记

    作为一名前端实习生,我在这周里学到了很多宝贵的知识.首先,我开始了解了如何使用 React 框架来构建用户界面.React 提供了一种组件化的方法,可以让我们更加方便地管理界面上的元素.通过实践,我对 ...

最新文章

  1. c 语言寻找最小生成树,求助,关于求无向图的最小生成树代码
  2. python os 检查同名_2020Python 爬虫面试题,高薪就业Python面试必看
  3. [0] 各类图形的数据大小获得
  4. FFT/NTT/FMT/FWT题目
  5. Spark案例:Python版统计单词个数
  6. nginx+php5-fpm安装
  7. excel制作一个信息录入系统_Excel数据总是重复录入?使用这招,让系统帮你做检查,非常实用...
  8. UVA 10002 Center of Masses
  9. Sentinel 哨兵 实现redis高可用
  10. 微信信息轰炸【简易版】
  11. 微信小程序笔记——处理小程序页面栈限制(小程序wx.navigateTo封装)
  12. 差分放大电路的构成(零点漂移、差分放大电路是怎么构成的、共模信号、差模信号)
  13. 九十年代最好听的100首歌
  14. gimp 架构_GIMP 2.10正式发布,史无前例的改动
  15. python爬虫爬取博客_Python爬虫抓取csdn博客
  16. Python统计英文、中文、数字、空格等字符数
  17. 我所理解的高通平台Lcd驱动框架
  18. win7系统蓝屏故障以及常见的解决方案
  19. 有限域(Galois Field,GF,伽罗华域)的乘法原理
  20. 我的python面试简历

热门文章

  1. 老王讲设计模式(一)——策略模式
  2. LeetCode Lowest Common Ancestor of a Binary Search Tree (LCA最近公共祖先)
  3. Let's go home
  4. Visual C# 2008+SQL Server 2005 数据库与网络开发--第13章 使用菜单和对话框
  5. 游戏是如何限制多开的,如何解决
  6. 基于Spring Security的认证方式_实现授权功能_Spring Security OAuth2.0认证授权---springcloud工作笔记120
  7. 微服务升级_SpringCloud Alibaba工作笔记0013---SpringCloud Alibaba简介
  8. Android学习笔记---26_网络通信之资讯客户端,使用pull解析器,解析,从网络中获得的自定义xml文件
  9. sytlengan2 代码解析
  10. Java的接口及实例(转)