日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript 高级程序设计第四章解读,总结。

發(fā)布時間:2023/12/31 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 高级程序设计第四章解读,总结。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第四章 變量,作用域與內(nèi)存

通過變量使用原始值

- 1. 原始值與引用值+ 原始值: 最簡單的數(shù)據(jù)+ 引用值: 多個值構(gòu)成的對象 - 2. 原始值有哪些+ Undefined Null Boolean Number String Symbol+ 訪問時 直接訪問存儲在變量中的實際值+ 由于JavaScript不允許直接訪問內(nèi)存,所以不能直接操作對象所在的內(nèi)存空間。在操作對象時,實際上操作的式對改對象的引用,而非對象本身。 - 3. 動態(tài)屬性+ 只有引用值可以動態(tài)的增加或者顯示的刪除該屬性+ 而給原始值增加屬性的時候,不報錯,但是增加無效,打印時 : undefined+ let name = "Nicholas";name.age = 19;console.log(age); //expected output : undefined - 4. 復(fù)制值+ 原始值:利用賦值運算符便可進(jìn)行+ 引用值:簡單的進(jìn)行賦值,實現(xiàn)的是倆個引用值指向的是一塊存儲空間 - 5. 傳遞參數(shù)+ 原始值傳遞參數(shù)和引用值傳遞參數(shù)都一樣,都是傳值。引用值也不是傳引用:看一下例子:+ function setName(obj){obj.name = "Nicholas";obj = new Object();obj.name = "Tom";}let persion = new Object();setName(persion.name);console.log(persion.name); // expected output : "Nicholas" - 6 確定類型+ typeof 確定原始值類型+ instanceof 確定Object類型+ console.log(person instanceof Object);+ console.log(colors instanceof Array);+ console.log(pattern instanceof RegExp);+ instanceof 操作符檢測任何引用值和Object構(gòu)造函數(shù)都會返回true 若是檢測到原始值,會返回false

理解執(zhí)行上下文

- 1 執(zhí)行上下文與作用域- 表示全局上下文的對象可能不一樣,所有通過var定義的全局變量和全局函數(shù)都會成為window對象的屬性和方法- 使用let 和 const 的頂級聲明不會定義在全局上下文中,但在作用域解析上效果是一樣的,上下文在其所有代碼執(zhí)行完畢后會被銷毀,包括定義在它上面的所有變量和函數(shù)。- 每個函數(shù)都有自己的上下文,函數(shù)的上下文會被推到一個上下文棧上。在函數(shù)執(zhí)行完,上下文棧會彈出該函數(shù)的上下文。- 作用域鏈:+ 決定訪問各級上下文中的代碼在訪問變量和函數(shù)時的執(zhí)行順序。+ 如果上下文是函數(shù),活動對象作為變量對象,活動對象最初只有一個定義變量:arguments 全局上下文中沒有這個變量。作用域鏈中的下一個對象來自包含上下文,再下一個對象來自下一個包含上下文,依次類推,知道window上下文。+ 內(nèi)部上下文通過作用域鏈可以訪問到所有父級上下文,而父級上下文不能訪問自己上下文。- 作用域鏈增強(qiáng):+ 某些語句會導(dǎo)致在作用于前端臨時添加一個上下文,在這個上下文執(zhí)行后會被刪除+ try/catch 語句中的catch塊+ catch 會創(chuàng)建一個新的變量對象,這個變量對象會包含要拋出的錯誤對象的聲明+ with 語句+ 會向作用域鏈前端添加指定對象+ function buildUrl() {let qs = "?debug=true";with (location) {let url = href + qs;}return ul;}

理解垃圾回收

- JavaScript是使用垃圾回收的語言,也就是說執(zhí)行環(huán)境負(fù)責(zé)在代碼執(zhí)行時管理內(nèi) - 瀏覽器的發(fā)展史上,用到過兩種主要的 標(biāo)記策略:標(biāo)記清理和引用計數(shù)+ 標(biāo)記清理 + 引用計數(shù)

總結(jié)

以上是生活随笔為你收集整理的JavaScript 高级程序设计第四章解读,总结。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。