1、js数据类型有哪些?如何判断js数据类型?
image.png2、ES6的新特性
image.png3、Let、const、var三者有什么区别
image.png5、数组去重的方法
image.png6、深拷贝与浅拷贝是什么?如何实现深拷贝和浅拷贝?
image.png深浅拷贝的主要区别:复制的是引用(地址)还是复制的是实例。
对于仅仅是复制了引用(地址),换言之,原来的变量和新的变量指向了同一个东西,彼此之间的操作会互相影响,为浅拷贝。
反言之。如果是在堆中重新分配内存,拥有不同的地址,但是值是一样的,复制后的对象与原来的对象是完全隔离,互不影响的,为 深拷贝。
7、如何理解宏微任务?
宏任务:script、setTimeout、setInterval、postMessage、MessageChannel、及Node.js 环境中的setImmediate.
微任务:Promise.then、Object.observe、MutationObserver、及Node.js 环境中的process.nextTick.
具体实例
8、js原型及原型链
image.png原型存在的意义就是组成原型链:引用类型皆对象,每个对象都有原型,原型也是对象,也有它自己的原型,一层一层,组成原型链。
原型链存在的意义就是继承:访问对象属性时,在对象本身找不到,就在原型链上一层一层找。说白了就是一个对象可以访问其他对象的属性。
继承存在的意义就是属性共享:好处有二:一是代码重用,字面意思;二是可扩展,不同对象可能继承相同的属性,也可以定义只属于自己的属性。
网友评论