中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

西安市城鄉(xiāng)建設(shè)檔案館網(wǎng)站域名注冊(cè)網(wǎng)站

西安市城鄉(xiāng)建設(shè)檔案館網(wǎng)站,域名注冊(cè)網(wǎng)站,貴陽市城鄉(xiāng)建設(shè)學(xué)校網(wǎng)站,python 手機(jī)網(wǎng)站開發(fā)目錄 一、內(nèi)存泄露 1、是什么 2、導(dǎo)致的原因 二、垃圾回收機(jī)制的策略 三、淺拷貝和深拷貝 1、淺拷貝 .slice() ...展開運(yùn)算符 Object.assign(目標(biāo)對(duì)象, 被復(fù)制的對(duì)象) ...展開運(yùn)算符 2、深拷貝 structuredClone() 瀏覽器提供 JSON.parse(JSON.stringify(obj)) …

目錄

一、內(nèi)存泄露

1、是什么

2、導(dǎo)致的原因

二、垃圾回收機(jī)制的策略

三、淺拷貝和深拷貝

1、淺拷貝

.slice()

...展開運(yùn)算符

Object.assign(目標(biāo)對(duì)象, 被復(fù)制的對(duì)象)

...展開運(yùn)算符

2、深拷貝

structuredClone()? ? 瀏覽器提供

JSON.parse(JSON.stringify(obj))

四、為什么JS是單線程

五、Promise 的原理

六、宏任務(wù)和微任務(wù)都有哪些

七、宏任務(wù)和微任務(wù)都是怎樣執(zhí)行

八、變量和函數(shù)怎么進(jìn)行提升的?優(yōu)先級(jí)是怎么樣的?

九、var let const 有什么區(qū)別

十、模塊化

1、為什么要使用模塊化

2、實(shí)現(xiàn)模塊化的方法

十一、exports和module.exports有什么區(qū)別

十二、ESM 和 commonjs 的區(qū)別

十三、Commonjs、AMD、CMD、UMD、ESM 都有什么區(qū)別

十四、require 和 import的區(qū)別

十五、箭頭函數(shù)和普通函數(shù)的區(qū)別

十六、箭頭函數(shù)可以當(dāng)做構(gòu)造函數(shù) new 嗎


一、內(nèi)存泄露

1、是什么

不再用的內(nèi)存沒有被及時(shí)釋放出來,導(dǎo)致該段內(nèi)存無法被使用就是內(nèi)存泄漏

2、導(dǎo)致的原因

我們無法在通過js訪問某個(gè)對(duì)象,而垃圾回收機(jī)制卻認(rèn)為該對(duì)象還在被引用,因此垃圾回收機(jī)制不會(huì)釋放該對(duì)象,導(dǎo)致該塊內(nèi)存永遠(yuǎn)無法釋放,積少成多,系統(tǒng)會(huì)越來越卡以至于崩潰

二、垃圾回收機(jī)制的策略

1、標(biāo)記清除法
垃圾回收機(jī)制獲取根并標(biāo)記他們,然后訪問并標(biāo)記所有來自它們的引用,然后在訪問這些對(duì)象并標(biāo)記它們的引用…如此遞進(jìn)結(jié)束后若發(fā)現(xiàn)有沒有標(biāo)記的(不可達(dá)的)進(jìn)行刪除,進(jìn)入執(zhí)行環(huán)境的不能進(jìn)行刪除
2、引用計(jì)數(shù)法
當(dāng)聲明一個(gè)變量并給該變量賦值一個(gè)引用類型的值時(shí)候,該值的計(jì)數(shù)+1,當(dāng)該值賦值給另一個(gè)變量的時(shí)候,該計(jì)數(shù)+1,當(dāng)該值被其他值取代的時(shí)候,該計(jì)數(shù)-1,當(dāng)計(jì)數(shù)變?yōu)?的時(shí)候,說明無法訪問該值了,垃圾回收機(jī)制清除該對(duì)象
缺點(diǎn): 當(dāng)兩個(gè)對(duì)象循環(huán)引用的時(shí)候,引用計(jì)數(shù)無計(jì)可施。如果循環(huán)引用多次執(zhí)行的話,會(huì)造成崩潰等問題。所以后來被標(biāo)記清除法取代。

三、淺拷貝和深拷貝

1、淺拷貝

只會(huì)對(duì)對(duì)象本身進(jìn)行復(fù)制,不會(huì)復(fù)制對(duì)象中的屬性(或元素),對(duì)象與被復(fù)制的對(duì)象指向的還是同一個(gè)內(nèi)存地址。

數(shù)組方法:

  • .slice()

  • ...展開運(yùn)算符

對(duì)象方法:

  • Object.assign(目標(biāo)對(duì)象, 被復(fù)制的對(duì)象)

  • ...展開運(yùn)算符

  • Object.assign({}, obj1)

2、深拷貝

深拷貝指不僅復(fù)制對(duì)象本身,還復(fù)制對(duì)象中的屬性和元素

方法:

  • structuredClone()? ? 瀏覽器提供

  • JSON.parse(JSON.stringify(obj))

手寫深拷貝: 見 =》

四、為什么JS是單線程

因?yàn)镴S里面有可視的Dom,如果是多線程的話,這個(gè)線程正在刪除DOM節(jié)點(diǎn),另一個(gè)線程正在編輯Dom節(jié)點(diǎn),導(dǎo)致瀏覽器不知道該聽誰的

五、Promise 的原理

六、宏任務(wù)和微任務(wù)都有哪些

  • 宏任務(wù):script、setTimeOutsetInterval、setImmediate
  • 微任務(wù):promise.then、process.nextTickObject.observe、MutationObserver
  • 注意:Promise是同步任務(wù)

七、宏任務(wù)和微任務(wù)都是怎樣執(zhí)行

  • 執(zhí)行宏任務(wù)script,
  • 進(jìn)入script后,所有的同步任務(wù)主線程執(zhí)行
  • 所有宏任務(wù)放入宏任務(wù)執(zhí)行隊(duì)列
  • 所有微任務(wù)放入微任務(wù)執(zhí)行隊(duì)列
  • 先清空微任務(wù)隊(duì)列,
  • 再取一個(gè)宏任務(wù),執(zhí)行,再清空微任務(wù)隊(duì)列
  • 依次循環(huán)

八、變量和函數(shù)怎么進(jìn)行提升的?優(yōu)先級(jí)是怎么樣的?

  • 對(duì)所有函數(shù)聲明進(jìn)行提升(除了函數(shù)表達(dá)式和箭頭函數(shù)),引用類型的賦值
    • 開辟堆空間
    • 存儲(chǔ)內(nèi)容
    • 將地址賦給變量
  • 對(duì)變量進(jìn)行提升,只聲明,不賦值,值為undefined

九、var let const 有什么區(qū)別

var

  • var聲明的變量可進(jìn)行變量提升,let和const不會(huì)
  • var可以重復(fù)聲明
  • var在非函數(shù)作用域中定義是掛在到window上的

let

  • let聲明的變量只在局部起作用
  • let防止變量污染
  • 不可在聲明

const

  • 具有l(wèi)et的所有特征
  • 不可被改變:不可改變只適用于直接地址。如果使用const聲明的是對(duì)象的話,是可以修改對(duì)象內(nèi)部的值的

十、模塊化

1、為什么要使用模塊化

  • 防止命名沖突
  • 更好的分離,按需加載
  • 更好的復(fù)用性
  • 更高的維護(hù)性

2、實(shí)現(xiàn)模塊化的方法

早期:命名空間、閉包

現(xiàn)在:CommonJS、AMD模塊、ES6模塊

十一、exportsmodule.exports有什么區(qū)別

  • 導(dǎo)出方式不一樣
    • exports.xxx='xxx'
    • module.export = {}
  • exportsmodule.exports的引用,兩個(gè)指向的是用一個(gè)地址,而require能看到的只有module.exports

十二、ESM 和 commonjs 的區(qū)別

  • commonjs 是運(yùn)行時(shí)加載 ;ESM 是編譯時(shí)加載
  • commonjs 是同步加載模塊;ESM 是異步加載模塊
  • commonjs 是對(duì)值的淺拷貝;ESM 是對(duì)值的引用,而且不可修改(直接地址不可修改,類似于 const)

十三、Commonjs、AMD、CMD、UMD、ESM 都有什么區(qū)別

1、Commonjs:是同步執(zhí)行的,不適合前端,后端 nodejs 可以使用 commonjs。

2、AMD/CMD/UMD 適用前端 ,異步執(zhí)行。

3、ESM使用 export 、 export default 來導(dǎo)出模塊,使用 import 來引入模塊

4、AMD 和 CMD 的差別是

AMD 是依賴前置(把依賴放在前面)、提前執(zhí)行(即使沒有用到某個(gè)模塊,也會(huì)提前執(zhí)行)
CMD依賴就近、延時(shí)執(zhí)行(用到的時(shí)候在聲明依賴)

十四、require 和 import的區(qū)別

調(diào)用時(shí)機(jī)

  • require 是運(yùn)行時(shí)調(diào)用,所以其實(shí)是可以放在任何地方的
  • Import 是編譯時(shí)調(diào)用,所以必須放在文件的開頭

使用時(shí)

  • require 需要使用 module.exports = fs 或者exports.fs = xxx
  • import 用 export default 或 export const xx

解構(gòu)賦值

  • require 是賦值的過程
  • import 是解構(gòu)的過程

十五、箭頭函數(shù)和普通函數(shù)的區(qū)別

  • 箭頭函數(shù)是普通函數(shù)的簡(jiǎn)寫,但是它不具備很多普通函數(shù)的特性
  • 箭頭函數(shù)的this指向它定義時(shí)所在的對(duì)象,而不是調(diào)用它的對(duì)象
  • 不會(huì)進(jìn)行函數(shù)提升
  • 沒有arguments對(duì)象,不能使用arguments,如果要獲取參數(shù)的話可以使用rest運(yùn)算符
  • 沒有yield屬性,不能作為生成器Generator使用

十六、箭頭函數(shù)可以當(dāng)做構(gòu)造函數(shù) new 嗎

不能new。因?yàn)?#xff1a;沒有自己的this,不能調(diào)用call和apply。沒有prototype,new關(guān)鍵字內(nèi)部需要把新對(duì)象的_proto_指向函數(shù)的prototype。

http://www.risenshineclean.com/news/38815.html

相關(guān)文章:

  • 核名查詢系統(tǒng)seo如何優(yōu)化
  • 網(wǎng)站開發(fā)計(jì)劃書模板淘寶引流推廣平臺(tái)
  • 如何進(jìn)行優(yōu)化霸屏seo服務(wù)
  • 企業(yè)站用什么程序做網(wǎng)站友情鏈接樣式
  • 大連市營商環(huán)境建設(shè)局網(wǎng)站網(wǎng)絡(luò)銷售平臺(tái)上市公司有哪些
  • 網(wǎng)站二級(jí)域名怎么設(shè)置小紅書關(guān)鍵詞搜索量查詢
  • 桂林網(wǎng)站建設(shè)內(nèi)容瀏覽器2345網(wǎng)址導(dǎo)航下載安裝
  • 馬云將來淘汰的十個(gè)行業(yè)網(wǎng)站建設(shè)網(wǎng)站如何添加友情鏈接
  • 做網(wǎng)站與網(wǎng)店運(yùn)營如何免費(fèi)創(chuàng)建自己的網(wǎng)站平臺(tái)
  • wordpress活動(dòng)召集插件seo內(nèi)部?jī)?yōu)化具體做什么
  • 學(xué)做網(wǎng)站書籍微商營銷
  • 軟件app研發(fā)seo優(yōu)化標(biāo)題 關(guān)鍵詞
  • 怎么做網(wǎng)站后臺(tái) 更新日志網(wǎng)絡(luò)市場(chǎng)調(diào)研的方法
  • 網(wǎng)站偽靜態(tài)怎么設(shè)置seowhy官網(wǎng)
  • 網(wǎng)站仿做軟件seo是什么意思職業(yè)
  • 建設(shè)工程招標(biāo)網(wǎng)站互聯(lián)網(wǎng)推廣運(yùn)營是做什么的
  • 廣東出現(xiàn)新病毒是真的嗎關(guān)鍵詞優(yōu)化方法有什么步驟
  • 上海 做網(wǎng)站線下推廣方法有哪些
  • 定制網(wǎng)站開發(fā)哪家強(qiáng)某網(wǎng)站seo診斷分析和優(yōu)化方案
  • iis網(wǎng)站日志今日國際新聞?lì)^條新聞
  • 企業(yè)網(wǎng)站設(shè)計(jì)調(diào)查問卷全國十大婚戀網(wǎng)站排名
  • 表格網(wǎng)站源碼企業(yè)網(wǎng)站seo點(diǎn)擊軟件
  • 網(wǎng)站轉(zhuǎn)移空間以后ip會(huì)變化嗎360網(wǎng)址大全
  • 商城網(wǎng)站建設(shè)招聘網(wǎng)站推廣方式有哪些
  • 學(xué)生管理系統(tǒng)seo英文
  • 合優(yōu)網(wǎng)合川招聘杭州排名優(yōu)化公司電話
  • 網(wǎng)站開發(fā)工程師工作職責(zé)seo模擬點(diǎn)擊軟件
  • 長(zhǎng)沙房產(chǎn)交易中心官網(wǎng)丹東網(wǎng)站seo
  • 經(jīng)典網(wǎng)站首頁設(shè)計(jì)網(wǎng)絡(luò)營銷評(píng)價(jià)的名詞解釋
  • 湖北省建設(shè)廳建筑資料官方網(wǎng)站360點(diǎn)睛實(shí)效平臺(tái)推廣