JavaScript 学习笔记3
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
第四章 變量,作用域和內(nèi)存問(wèn)題
1.變量
可保存兩種類(lèi)型的值:基本類(lèi)型值和引用類(lèi)型值。
基本類(lèi)型值源于五種基本數(shù)據(jù)類(lèi)型。
基本類(lèi)型值和引用類(lèi)型值的對(duì)比:
1).基本類(lèi)型值在內(nèi)存中占據(jù)固定大小的空間,因此被保存在棧內(nèi)存中
2).從一個(gè)變量向另一個(gè)變量賦值基本類(lèi)型的值,會(huì)創(chuàng)建這個(gè)值的一個(gè)副本
3).引用類(lèi)型的值是對(duì)象,保存在堆內(nèi)存中
4).包含引用類(lèi)型值的變量實(shí)際包含的不是對(duì)象本身,而是一個(gè)指向該對(duì)象的指針
5).從一個(gè)變量想另一個(gè)變量賦值引用類(lèi)型的值,復(fù)制的其實(shí)是指針,因此兩個(gè)變量最終都指向同一個(gè)對(duì)象
6).確定一個(gè)值是哪種基本類(lèi)型可以使用typeof操作符,而確定一個(gè)值是哪種引用類(lèi)型可以使用instanceof操作符
2.傳遞參數(shù)
訪問(wèn)變量有按值和按引用兩種方式,而參數(shù)只能是按值傳遞的。
3.執(zhí)行環(huán)境和作用域
1.)執(zhí)行環(huán)境有全局執(zhí)行環(huán)境和函數(shù)執(zhí)行環(huán)境之分
2.)每次進(jìn)入一個(gè)新執(zhí)行環(huán)境,都會(huì)創(chuàng)建一個(gè)用于搜索變量和函數(shù)的作用域鏈
3.)函數(shù)的局部環(huán)境不僅有權(quán)訪問(wèn)函數(shù)作用域中的變量,而且有全訪問(wèn)其包含環(huán)境,乃至全局環(huán)境
4.)全局環(huán)境只能訪問(wèn)全局環(huán)境中定義的變量和函數(shù),而不能直接訪問(wèn)局部環(huán)境中的任何數(shù)據(jù)
5.)變量的執(zhí)行環(huán)境有助于確定應(yīng)該合適釋放內(nèi)存
作用域鏈:由于js的變量都是對(duì)象的屬性,而該對(duì)象可能又是其它對(duì)象的屬性,而所有的對(duì)象都是window對(duì)象的屬性,所以這些對(duì)象的關(guān)系可以看作是一條鏈?
鏈頭就是變量所處的對(duì)象,鏈尾就是window對(duì)象
with語(yǔ)句主要用來(lái)臨時(shí)擴(kuò)展作用域鏈,將語(yǔ)句中的對(duì)象添加到作用域的頭部
4.垃圾收集
1.)離開(kāi)作用域的值將被自動(dòng)標(biāo)記為可以回收,因此將在垃圾收集期間被刪除
2.)最主流:"標(biāo)記清除"
?
?
?
?
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/2959270/blog/779015
總結(jié)
以上是生活随笔為你收集整理的JavaScript 学习笔记3的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux命令:du,df用法说明
- 下一篇: AngularJS 2.0 学习记录(一