-
循环对象属性时使用for…in,遍历数组时使用for…of
for…in循环出的是key,for…of循环出的是value
-
isEmptyObject({})检查一个对象是否为空
-
Web Workers
- workers 和主线程间传递数据的消息机制:
----- 当推送数据 postMessage 时,会执行事件监听器 onMessage,来自 postMessage 的推送数据通过 onMessage 的 event.data 得到。(这个过程中数据并不是被共享而是被复制,所以可以创建多个 worker。)
----- postMessage:推送数据出来
----- onMessage:通过 event.data 得到推送来的数据进行处理(是对应 postMessage 的监听器) - Web Worker 被创建后,会一直被监听,为了释放浏览器的资源,需要 terminal ----- w.terminal() ; 或者 重用w ----- w = undefined(w = new Worker(" "))
- Web Worker 在后台线程中运行
优点:执行任务时不干扰用户界面
缺点:不能使用 window 对象,document 对象
-
if (!Object.prototype.hasOwnProperty.call(name, age) ) { // 判断name是否有属性age。运行Object.prototype.hasOwnProperty方法,this为name,函数参数为identifier }