2021-01-18 - 草稿

2021-01-28  本文已影响0人  rub1cky

深拷贝和浅拷贝

json.parse

会忽略 undefined;
会忽略symbol;
如果对象的属性为Function,因为JSON格式字符串不支持Function,在序列化的时候会自动删除;
诸如 Map, Set, RegExp, Date, ArrayBuffer 和其他内置类型在进行序列化时会丢失;
不支持循环引用对象的拷贝。

事件冒泡和捕获

冒泡由内向外,捕获由外到内触发
addEventListener 第三个参数为false

foreach 和map区别

同 都是用来遍历数组的
异 foreach没有返回,map返回新数组

some和every

some 有一个就为true
every 每一个都为true

暂时性死区

ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错

事件循环

  1. 执行同步任务, 异步任务推送到任务队列中
  2. 调用栈清空
  3. microtasks 队列依次进入执行栈执行,直到清空
    // ui 线程渲染
  4. macrotask取出一个宏任务并执行
  5. microtasks 队列依次进入执行栈执行,直到清空

onchange 和 oninput

 onchange event 所有主要浏览器都支持;
 onchange 属性可以使用于:<input>, <select>, 和 <textarea>。

 oninput 事件在用户输入时触发,它是在元素值发生变化时立即触发;
 该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
  缺陷:从脚本中修改值不会触发事件。从浏览器下拉提示框里选取值时不会触发。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。
上一篇下一篇

猜你喜欢

热点阅读