JavaScript 變量院水、作用域和內(nèi)存問題

1 基本類型和引用類型的值(注意“值”)

ES 變量包含的值就兩種入蛆,基本類型和引用類型归敬,沒有第三種

1.1 動(dòng)態(tài)屬性

其實(shí)呢酷含,就是說“親兒子”引用類型的值可以添加或者修改或者刪除屬性和方法,而“路上撿的”基本數(shù)據(jù)類型就不可以

1.2 復(fù)制變量值

親兒子引用類型畢竟親汪茧,復(fù)制變量相當(dāng)于復(fù)制一個(gè)指針椅亚,指向同一個(gè)對(duì)象,變量其中一個(gè)舱污,改了親兒子們都會(huì)改變
撿的就不一樣了呀舔,復(fù)制就會(huì)復(fù)制一個(gè)新的值

1.3 傳遞參數(shù)

  • ES 中所有函數(shù)的參數(shù)傳值都是按值傳遞的
  • 基本類型的值在作為參數(shù)傳遞時(shí)會(huì)復(fù)制給一個(gè)局部變量
  • 引用類型是復(fù)制這個(gè)值在內(nèi)存中的地址,在函數(shù)內(nèi)部修改會(huì)反映到外部扩灯,巴特媚赖!重寫對(duì)象的時(shí)候不會(huì)改變?cè)瓉淼闹怠?br> function setname(obj){ obj.name="wu"; obj = new Object(); obj.name="li"; }; var person = new Object(); person.name="wu1"; setname(person); console.log(person.name);//wu

腦殘吧,這不就是按引用賦值么…

1.4 檢測(cè)類型

基本類型->typeof
引用類型->instanceof 判斷什么類型的對(duì)象

2 執(zhí)行環(huán)境和作用域

執(zhí)行環(huán)境

  • 定義變量或者函數(shù)有權(quán)訪問的其他數(shù)據(jù)有那些
  • 執(zhí)行環(huán)境關(guān)聯(lián)一個(gè) 變量對(duì)象珠插,當(dāng)前環(huán)境中所有的變量和函數(shù)都保存在這個(gè)對(duì)象中
  • 全局執(zhí)行環(huán)境是最外圍的執(zhí)行環(huán)境惧磺,宿主不同,全局環(huán)境也不同捻撑。web瀏覽器中豺妓,window對(duì)象為全局環(huán)境
  • 當(dāng)代碼執(zhí)行完畢時(shí)惜互,環(huán)境被銷毀,包括所有的變量和函數(shù)
  • 全局環(huán)境要到應(yīng)用程序退出琳拭,(關(guān)閉網(wǎng)頁瀏覽器等等啦)
  • 每個(gè)函數(shù)都有自己的執(zhí)行環(huán)境训堆,執(zhí)行到該函數(shù)時(shí),函數(shù)的環(huán)境會(huì)被推入一個(gè)環(huán)境棧中白嘁,執(zhí)行完就踢出去坑鱼,控制權(quán)再還給之前的執(zhí)行環(huán)境

作用域鏈

簡(jiǎn)單點(diǎn)說,作用域鏈就是代碼運(yùn)行時(shí)一級(jí)一級(jí)的深入方法內(nèi)部絮缅,函數(shù)或者方法有訪問外部環(huán)境變量的權(quán)限

2.1 延長作用域鏈

意思是在作用域的前端臨時(shí)增加一個(gè)變量對(duì)象鲁沥,執(zhí)行完后被移除,包括如下兩種方式

  • try-catch 語句的catch塊
  • with語句 并不推薦使用

2.2 沒有塊級(jí)作用域

對(duì)于在for耕魄,if的語句中定義的變量外部仍然可以訪問

  • 聲明變量:使用var聲明變量后画恰,變量會(huì)自動(dòng)添加到最接近的環(huán)境中,函數(shù)內(nèi)部的話就是局部環(huán)境吸奴,而沒有使用var聲明的變量會(huì)自動(dòng)添加到全局環(huán)境中允扇。

  • 查詢變量:從局部環(huán)境層層往上查(也就是從作用域鏈的頭部開始),遇到定義就停止则奥。(對(duì)性能沒有影響)

3 垃圾收集

  • 標(biāo)記清除
  • 引用計(jì)數(shù)

js做的挺好考润,不需要手動(dòng)來做,標(biāo)記清除是指首先給在內(nèi)存中所有變量加上標(biāo)記读处,再去掉正在用的和用過的變量的標(biāo)記糊治,離開變量是則比較為離開,則清除罚舱。引用計(jì)數(shù)會(huì)導(dǎo)致循環(huán)引用井辜,從而導(dǎo)致性能問題

-管理內(nèi)存: 占用比較大的全局變量和全局對(duì)象的屬性,在使用完后可以設(shè)置為null管闷,即為解除變量

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抑胎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子渐北,更是在濱河造成了極大的恐慌,老刑警劉巖铭拧,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赃蛛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡搀菩,警方通過查閱死者的電腦和手機(jī)呕臂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肪跋,“玉大人歧蒋,你說我怎么就攤上這事。” “怎么了谜洽?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵萝映,是天一觀的道長。 經(jīng)常有香客問我阐虚,道長序臂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任实束,我火速辦了婚禮奥秆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咸灿。我一直安慰自己构订,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布避矢。 她就那樣靜靜地躺著悼瘾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谷异。 梳的紋絲不亂的頭發(fā)上分尸,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音歹嘹,去河邊找鬼箩绍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尺上,可吹牛的內(nèi)容都是我干的材蛛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼怎抛,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼卑吭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起马绝,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤豆赏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后富稻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掷邦,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年椭赋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抚岗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哪怔,死狀恐怖宣蔚,靈堂內(nèi)的尸體忽然破棺而出向抢,到底是詐尸還是另有隱情,我是刑警寧澤胚委,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布挟鸠,位于F島的核電站,受9級(jí)特大地震影響篷扩,放射性物質(zhì)發(fā)生泄漏兄猩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一鉴未、第九天 我趴在偏房一處隱蔽的房頂上張望枢冤。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽核蘸。三九已至,卻和暖如春啸驯,著一層夾襖步出監(jiān)牢的瞬間客扎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工罚斗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留徙鱼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓针姿,卻偏偏與公主長得像袱吆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子距淫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容