src和href的区别
- href是指向网络资源所在位置,建设和以后元素(锚点)或以后文档(链接)之间的链接,用于超链接。
src是指向内部资源的地位,指向的内容将会嵌入到文档中以后标签所在位置。
1. 在申请src资源时会将其指向的资源下载并利用到文档内,例如js脚本,img图片和frame等元素。2. 当浏览器解析到该元素时,会暂停其余资源的下载和解决,直到将该资源加载、编译、执行结束,图片和框架等元素也如此,相似于将所指向资源嵌入以后标签内。这也是为什么将js脚本放在底部而不是头部。
观察者和订阅-公布的区别
- 观察者模式里,只有两个角色 —— 观察者 + 被观察者
- 而公布订阅模式里,却不仅仅只有发布者和订阅者两个角色,还有一个常常被咱们疏忽的 —— 经纪人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作如下解决:
- 如果字符串string以 “0x” 或者 “0X” 结尾,则基数是16,16进制;
- 如果字符串string以 “0” 结尾,基数是8(8进制)或者10(10进制),依据实现环境决定。
- 如果字符串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,如何通过代码解决这个问题?
如何防止重绘或者重排?
- 当 DOM 元素的属性发生变化 (如 color) 时, 浏览器会告诉 render 从新描述相应的元素, 此过程称为 repaint。
- 如果该次变动波及元素布局 (如 width), 浏览器则摈弃原有属性, 从新计算并把后果传递给 render 以从新描述页面元素, 此过程称为 reflow。
- 回流必定会产生重绘,重绘不肯定会引发回流。
typeof和instanceof 区别
instanceof 运算符用来检测 constructor.prototype 是否存在于参数的原型链上typeof操作符返回一个字符串,批示未经计算的操作数的类型。
谈谈变量晋升?
1. 只有申明自身会被晋升,而赋值或其余运行逻辑会留在原地。2. 每个作用域都会进行晋升操作。3. 函数申明会被晋升,然而函数表达式却不会被晋升。4. 函数申明和变量申明都会被晋升,是函数会首先被晋升,而后才是变量。5. let和const进行的申明不会在块作用域中进行晋升。
defer和async区别
defer
- 浏览器开始解析 HTML 网页。
- 解析过程中,发现带有defer属性的<script>元素。
- 浏览器持续往下解析 HTML 网页,同时并行下载<script>元素加载的内部脚本。
- 浏览器实现解析 HTML 网页,此时再回过头执行曾经下载实现的脚本。
async
- 浏览器开始解析 HTML 网页。
- 解析过程中,发现带有async属性的script标签。
- 浏览器持续往下解析 HTML 网页,同时并行下载<script>标签中的内部脚本。
- 脚本下载实现,浏览器暂停解析 HTML 网页,开始执行下载的脚本。
- 脚本执行结束,浏览器复原解析 HTML 网页。
requestAnimationFrame
它仅仅绘制用户可见的动画。这意味着没把 CPU 或电池寿命节约在绘制处于背景标签,最小化窗口,或者页面暗藏区域的动画上
浏览器能够把同一页面的多处动画,放弃在繁多的回流和重绘周期里