Js零散知识点笔记
2016-12-27 15:16
274 查看
将类数组对象转换为数组
ES5:
ES6:
任务执行顺序
macro-task(宏任务) 取出一个任务,执行完后再执行下一个 macro-task 。每个 macro-task里面先执行普通代码,执行完后再执行 micro-task(微任务),micro-task 执行完后才执行下一个macro-task。setTimeout 等 macro-task 会将代码推入下一个 macro-task ,直到上次 macro-task 执行完毕才会执行代码。
macro-task: script(整体代码), setTimeout, setInterval, setImmediate, I/O, UI rendering
micro-task: process.nextTick, 原生Promise, Object.observe, MutationObserver
Function.toString
第一个 alert 打印的是 123, alert 方法会调用 toString 方法,所以打印的是 123 。
第二个 console.log 则是隐式转换,触发了 fn.toString, 所以打印的是 true。
第三个 console.log 没有隐式转换,所以打印的是 false。
ES5:
var arrLike = document.querySelectorAll('span'); var arr = Array.prototype.slice.call(arrLike);
ES6:
var arrLike = document.querySelectorAll('span'); var arr = [...arrLike];
任务执行顺序
macro-task(宏任务) 取出一个任务,执行完后再执行下一个 macro-task 。每个 macro-task里面先执行普通代码,执行完后再执行 micro-task(微任务),micro-task 执行完后才执行下一个macro-task。setTimeout 等 macro-task 会将代码推入下一个 macro-task ,直到上次 macro-task 执行完毕才会执行代码。
macro-task: script(整体代码), setTimeout, setInterval, setImmediate, I/O, UI rendering
micro-task: process.nextTick, 原生Promise, Object.observe, MutationObserver
Function.toString
function fn() { 'abc' } fn.toString = function (arg) { return 123; } alert(fn); console.log(fn == 123); console.log(fn === 123);
第一个 alert 打印的是 123, alert 方法会调用 toString 方法,所以打印的是 123 。
第二个 console.log 则是隐式转换,触发了 fn.toString, 所以打印的是 true。
第三个 console.log 没有隐式转换,所以打印的是 false。
相关文章推荐
- JS零碎知识点学习笔记
- 菜鸟学Android笔记(十六):零散的知识点
- c#、sql、asp.net、js、ajax、jquery大学知识点笔记
- oracle 学习笔记,零散知识点收集
- python学习(仅作为个人学习笔记,记录零散知识点)
- HTML5学习笔记(十六):原型、类和继承【JS核心知识点】
- js及jquery零散知识点汇总
- js便签笔记(9)——解读jquery源码时记录的一些知识点
- Thinkphp 零散知识点(caa/js路径,引入第三方类,ajax返回,session/cookie)
- js 小知识点 (以前的笔记,有点乱)
- Linux零散知识点笔记
- PHP零散知识点笔记
- asp.net、mvc、ajax、js、jquery、sql、EF、linq、netadvantage第三方控件知识点笔记
- 简单的js正则表达式知识点笔记
- js零散知识点
- C/C++_log2000_函数声明与指针定义等零散知识点随手笔记
- prototype.js开发笔记
- 学习altas笔记[客户端JS和Altas环境初始化关系和DataTable返回数据的客户端处理]
- 学习Altas 笔记[JS简单调用服务端方法]
- js宝典学习笔记【转载】