執(zhí)行環(huán)境兴枯、作用域鏈

理解基本類型和引用類型

基本類型

點(diǎn)擊瀏覽JS的基本數(shù)據(jù)類型

引用類型

1.什么是引用類型
引用類型的值是保存在內(nèi)存中的對(duì)象(例如:Object由缆、Array汗盘、Date)

  • 引用類型復(fù)制變量值 皱碘,如下:

這里把儲(chǔ)存在obj1對(duì)象中的值復(fù)制了一份給obj2,·放在了新分配的內(nèi)存空間中隐孽,但是這個(gè)值的副本實(shí)際上是一個(gè)指針癌椿,這個(gè)指針指向存儲(chǔ)在堆中的一個(gè)對(duì)象 兩個(gè)變量實(shí)際上引用的是一個(gè)對(duì)象

 var obj1 = new Object();
 var obj2 = obj1; obj1.name = 'daisy';
 console.log(obj2.name); 
  • 基本類型復(fù)制變量值,如下:

把num1中的值復(fù)制一份給num2菱阵,復(fù)制完成后踢俄,num1和num2是兩個(gè)獨(dú)立的變量、互不影響.

var num1 = 5;
var num2 = num1;
console.log(num2); 

2.傳遞參數(shù)時(shí)是按值傳遞還是按引用傳遞

JS中傳遞參數(shù)是按值傳遞的晴及,但是在訪問參數(shù)時(shí)分別時(shí)按值訪問按引用訪問

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

  • 執(zhí)行環(huán)境是什么

執(zhí)行環(huán)境定義了變量和函數(shù)有權(quán)訪問其他數(shù)據(jù)都办,以及變量和函數(shù)各自的行為

每個(gè)執(zhí)行環(huán)境都有一個(gè)與之關(guān)聯(lián)的變量對(duì)象,環(huán)境中定義的所有變量和函數(shù)都保存在這個(gè)對(duì)象中

  • 作用域鏈?zhǔn)鞘裁?/li>

作用域鏈的前端始終是當(dāng)前執(zhí)行的代碼在環(huán)境中的變量對(duì)象虑稼,作用域中的下一個(gè)變量對(duì)象是包含環(huán)境琳钉,一直延續(xù)到全局執(zhí)行環(huán)境

當(dāng)代碼在一個(gè)環(huán)境中執(zhí)行時(shí),會(huì)創(chuàng)建變量對(duì)象的一個(gè)作用域鏈

例如:

function a(x, y) { 
  var b = x + y; 
  return b;
}
var result = a(5, 10);

函數(shù)a()的作用域鏈包含了兩個(gè)變量對(duì)象:函數(shù)自己的變量對(duì)象(其中定義著arguments對(duì)象)蛛倦、全局環(huán)境的變量對(duì)象
如圖:

作用域鏈圖是

在函數(shù)運(yùn)行過程中歌懒,標(biāo)識(shí)符解析是沿著作用域鏈一級(jí)一級(jí)地搜索標(biāo)識(shí)符的過程,從作用域鏈的前端開始胰蝠,然后逐級(jí)地向后回溯,找到后不再遍歷,找不到就報(bào)錯(cuò)

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

在JavaSscript中花括號(hào)封閉的塊沒有自己的作用域

function aa(){ 
  if(true) {
    var color = 'blue'; 
  } 
  console.log(color); //blue
}
aa();
console.log(color); //報(bào)錯(cuò)

上面的栗子在if語(yǔ)句中用var聲明了color變量茸塞,該變量會(huì)被自動(dòng)添加到最接近的環(huán)境中(即函數(shù)aa()的執(zhí)行環(huán)境躲庄,所以在函數(shù)外面不能訪問到該變量,內(nèi)部是可以的)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钾虐,一起剝皮案震驚了整個(gè)濱河市噪窘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌效扫,老刑警劉巖倔监,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異菌仁,居然都是意外死亡浩习,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門济丘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谱秽,“玉大人,你說我怎么就攤上這事摹迷∨鄙蓿” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵峡碉,是天一觀的道長(zhǎng)近哟。 經(jīng)常有香客問我,道長(zhǎng)鲫寄,這世上最難降的妖魔是什么吉执? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮塔拳,結(jié)果婚禮上鼠证,老公的妹妹穿的比我還像新娘。我一直安慰自己靠抑,他們只是感情好量九,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颂碧,像睡著了一般荠列。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上载城,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天肌似,我揣著相機(jī)與錄音,去河邊找鬼诉瓦。 笑死川队,一個(gè)胖子當(dāng)著我的面吹牛力细,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播固额,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼眠蚂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了斗躏?” 一聲冷哼從身側(cè)響起逝慧,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啄糙,沒想到半個(gè)月后笛臣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隧饼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年沈堡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桑李。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踱蛀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贵白,到底是詐尸還是另有隱情率拒,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布禁荒,位于F島的核電站猬膨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏呛伴。R本人自食惡果不足惜勃痴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望热康。 院中可真熱鬧沛申,春花似錦、人聲如沸姐军。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奕锌。三九已至著觉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惊暴,已是汗流浹背饼丘。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留辽话,地道東北人肄鸽。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓卫病,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親典徘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子忽肛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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