深拷貝和淺拷貝
json.parse
會忽略 undefined;
會忽略symbol纺棺;
如果對象的屬性為Function瑞凑,因為JSON格式字符串不支持Function腕巡,在序列化的時候會自動刪除骚烧;
諸如 Map, Set, RegExp, Date, ArrayBuffer 和其他內(nèi)置類型在進行序列化時會丟失顶瞒;
不支持循環(huán)引用對象的拷貝夸政。
事件冒泡和捕獲
冒泡由內(nèi)向外,捕獲由外到內(nèi)觸發(fā)
addEventListener 第三個參數(shù)為false
foreach 和map區(qū)別
同 都是用來遍歷數(shù)組的
異 foreach沒有返回榴徐,map返回新數(shù)組
some和every
some 有一個就為true
every 每一個都為true
暫時性死區(qū)
ES6 明確規(guī)定守问,如果區(qū)塊中存在let和const命令,這個區(qū)塊對這些命令聲明的變量坑资,從一開始就形成了封閉作用域耗帕。凡是在聲明之前就使用這些變量,就會報錯
事件循環(huán)
- 執(zhí)行同步任務袱贮, 異步任務推送到任務隊列中
- 調(diào)用棧清空
- microtasks 隊列依次進入執(zhí)行棧執(zhí)行仿便,直到清空
// ui 線程渲染 - macrotask取出一個宏任務并執(zhí)行
- microtasks 隊列依次進入執(zhí)行棧執(zhí)行,直到清空
onchange 和 oninput
onchange event 所有主要瀏覽器都支持攒巍;
onchange 屬性可以使用于:<input>, <select>, 和 <textarea>嗽仪。
oninput 事件在用戶輸入時觸發(fā),它是在元素值發(fā)生變化時立即觸發(fā)柒莉;
該事件在 <input> 或 <textarea> 元素的值發(fā)生改變時觸發(fā)闻坚。
缺陷:從腳本中修改值不會觸發(fā)事件。從瀏覽器下拉提示框里選取值時不會觸發(fā)常柄。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替搀擂。