1吟温、js數(shù)據(jù)類型有哪些嗅钻?如何判斷js數(shù)據(jù)類型?
2、ES6的新特性
3衅鹿、Let毅厚、const塞颁、var三者有什么區(qū)別
5、數(shù)組去重的方法
6吸耿、深拷貝與淺拷貝是什么祠锣?如何實現(xiàn)深拷貝和淺拷貝?
深淺拷貝的主要區(qū)別:復(fù)制的是引用(地址)還是復(fù)制的是實例咽安。
對于僅僅是復(fù)制了引用(地址),換言之伴网,原來的變量和新的變量指向了同一個東西,彼此之間的操作會互相影響妆棒,為淺拷貝澡腾。
反言之。如果是在堆中重新分配內(nèi)存糕珊,擁有不同的地址蛋铆,但是值是一樣的,復(fù)制后的對象與原來的對象是完全隔離放接,互不影響的刺啦,為 深拷貝。
7纠脾、如何理解宏微任務(wù)玛瘸?
宏任務(wù):script、setTimeout苟蹈、setInterval糊渊、postMessage、MessageChannel慧脱、及Node.js 環(huán)境中的setImmediate.
微任務(wù):Promise.then渺绒、Object.observe、MutationObserver、及Node.js 環(huán)境中的process.nextTick.
具體實例
8宗兼、js原型及原型鏈
原型存在的意義就是組成原型鏈:引用類型皆對象躏鱼,每個對象都有原型,原型也是對象殷绍,也有它自己的原型染苛,一層一層,組成原型鏈主到。
原型鏈存在的意義就是繼承:訪問對象屬性時茶行,在對象本身找不到,就在原型鏈上一層一層找登钥。說白了就是一個對象可以訪問其他對象的屬性畔师。
繼承存在的意義就是屬性共享:好處有二:一是代碼重用,字面意思牧牢;二是可擴展茉唉,不同對象可能繼承相同的屬性,也可以定義只屬于自己的屬性结执。