src和href的区别

  1. href是指向网络资源所在位置,建设和以后元素(锚点)或以后文档(链接)之间的链接,用于超链接。
  2. src是指向内部资源的地位,指向的内容将会嵌入到文档中以后标签所在位置。

    1. 在申请src资源时会将其指向的资源下载并利用到文档内,例如js脚本,img图片和frame等元素。2. 当浏览器解析到该元素时,会暂停其余资源的下载和解决,直到将该资源加载、编译、执行结束,图片和框架等元素也如此,相似于将所指向资源嵌入以后标签内。这也是为什么将js脚本放在底部而不是头部。

观察者和订阅-公布的区别

  1. 观察者模式里,只有两个角色 —— 观察者 + 被观察者
  2. 而公布订阅模式里,却不仅仅只有发布者和订阅者两个角色,还有一个常常被咱们疏忽的 —— 经纪人Broker

往更深层次讲:
观察者和被观察者,是松耦合的关系
发布者和订阅者,则齐全不存在耦合

从应用层面上讲:
观察者模式,多用于单个利用外部
公布订阅模式,则更多的是一种跨利用的模式(cross-application pattern),比方咱们罕用的消息中间件

delete数组的item,数组的length是否会 -1

只是被删除的元素变成了 undefined 其余的元素还是不变,也就是说数组长度没变

给出 ['1', '3', '10'].map(parseInt) 执行后果

parseInt(string, radix)

string:须要转化的字符,如果不是字符串会被转换,漠视空格符。
radix:数字2-36之间的整型。默认应用10,示意10进制。这个参数的意义是指把后面的字符看作多少进制的数字,所谓的基数。

如果radix在2-36之外会返回NaN。
在没有指定基数,或者基数为0的状况下,javascript作如下解决:

  1. 如果字符串string以 “0x” 或者 “0X” 结尾,则基数是16,16进制;
  2. 如果字符串string以 “0” 结尾,基数是8(8进制)或者10(10进制),依据实现环境决定。
  3. 如果字符串string 以其余任何值结尾,则基数是10,10进制。

Proxy 相比于 defineProperty 的劣势

Async/Await 如何通过同步的形式实现异步

https://es6.ruanyifeng.com/#docs/generator-async

箭头函数能够new吗?为什么?

箭头函数、没有prototype、没有本人的this指向、不能够应用arguments、天然不能够new。
如果new的时候会报错 function is not a constructor

异步队列

https://github.com/Advanced-F...

一个iframe,内嵌了一个A页面,iframe的宽高不停变动,如何让A页面的宽高实时自适应这个iframe的宽高大小。请说出至多3种办法,越难越好

解释一下在js里,0.1 0.2为什么等于0.30000000000000004,如何通过代码解决这个问题?

如何防止重绘或者重排?

  1. 当 DOM 元素的属性发生变化 (如 color) 时, 浏览器会告诉 render 从新描述相应的元素, 此过程称为 repaint。
  2. 如果该次变动波及元素布局 (如 width), 浏览器则摈弃原有属性, 从新计算并把后果传递给 render 以从新描述页面元素, 此过程称为 reflow。
  3. 回流必定会产生重绘,重绘不肯定会引发回流。

typeof和instanceof 区别

instanceof 运算符用来检测 constructor.prototype 是否存在于参数的原型链上typeof操作符返回一个字符串,批示未经计算的操作数的类型。

谈谈变量晋升?

1. 只有申明自身会被晋升,而赋值或其余运行逻辑会留在原地。2. 每个作用域都会进行晋升操作。3. 函数申明会被晋升,然而函数表达式却不会被晋升。4. 函数申明和变量申明都会被晋升,是函数会首先被晋升,而后才是变量。5. let和const进行的申明不会在块作用域中进行晋升。

defer和async区别

defer

  1. 浏览器开始解析 HTML 网页。
  2. 解析过程中,发现带有defer属性的<script>元素。
  3. 浏览器持续往下解析 HTML 网页,同时并行下载<script>元素加载的内部脚本。
  4. 浏览器实现解析 HTML 网页,此时再回过头执行曾经下载实现的脚本。

async

  1. 浏览器开始解析 HTML 网页。
  2. 解析过程中,发现带有async属性的script标签。
  3. 浏览器持续往下解析 HTML 网页,同时并行下载<script>标签中的内部脚本。
  4. 脚本下载实现,浏览器暂停解析 HTML 网页,开始执行下载的脚本。
  5. 脚本执行结束,浏览器复原解析 HTML 网页。

requestAnimationFrame

它仅仅绘制用户可见的动画。这意味着没把 CPU 或电池寿命节约在绘制处于背景标签,最小化窗口,或者页面暗藏区域的动画上
浏览器能够把同一页面的多处动画,放弃在繁多的回流和重绘周期里