原文:JS的預編譯和執行順序 詳析(及全局與局部變量)

最近在復習javascript的事件處理時發現了一個問題,於是總結一下:javascript的預編譯和執行順序的問題: 當我更改了代碼中紅色的部分后得到的結果又不相同: 於是,得出這兩種不同的結果那是因為javascript代碼在運行時有預編譯和執行兩個階段,在預編譯階段會對函數和變量進行處理,對所有的聲明變量會賦值為underfined,對所有的聲明函數也會賦值為函數的定義。 下面我們來測試ja ...

2015-07-08 10:43 16 7602 推薦指數:

查看詳情

JS全局變量局部變量

一句話概括:在函數外聲明的變量都為全局變量,在函數內聲明的為局部變量。 一、局部變量全局變量重名會覆蓋全局變量 var a = 1; function test1() { var a = 2; alert(a); } test1();// 2 這里的函數中的定義的a是局部變量,它的作用域 ...

Wed Dec 05 04:38:00 CST 2018 0 1501
js全局訪問局部變量

1、   在函數內使用this.name(變量名)的方式賦值,當函數作為普通函數調用時,在函數外部可以直接訪問到,這是因為這里的this指向window:   當函數作為方法函數調用時,情況又有所不同,這時候this指向發生變化,指向自身: 2、 ...

Sat Jun 18 19:17:00 CST 2016 0 1712
js中的局部變量全局變量

javascript有兩種變量局部變量全局變量。當然,我們這篇文章是幫助大家真正的區別這兩種變量。 首先,局部變量是指只能在本變量聲明的函數內部調用。全局變量時整個代碼中都可以調用的變量。當然,單單從字面上理解肯定是不清楚的,下面我詳細的介紹下: 大家都知道,變量是需要用var關鍵字聲明 ...

Wed Mar 08 08:30:00 CST 2017 0 3767
JS局部變量全局變量新解

就是這種盲目無原理依據的研究測試弄暈了我, 有必要這么做嗎? 其實理解了原理就沒必要搞這么多一個一個的試, 然后得出規律, ECMAScript規則都已經定義好了.var的規則是: 使用var聲明變量就是內部變量, 否則就是先調用全局變量, 不管多少層函數.this的規則是: method函數里 ...

Sat Dec 29 19:25:00 CST 2012 0 4611
js全局變量局部變量

運行結果 undefined 運行結果 guanxi 代碼分析 function內 加上var 代表局部變量,聲明的局部變量名稱和外部的全局變量名稱相同,但是與外部的i是沒有關系的,只是名稱相同而已,所以alert(i)在,局部變量定義之前會輸出 ...

Tue Nov 22 19:55:00 CST 2016 0 9614
js 關於全局變量局部變量的簡單理解

1.簡單來說在 函數里邊定義的變量局部變量,在函數外邊訪問不到; 全局變量是在函數外邊的,在函數內外都可以被訪問; 說明: 因為a 是全局變量所以在函數內部可以被訪問且被賦值;第一次打印結果為10; 執行函數后a的值變為100 ...

Fri Dec 28 05:19:00 CST 2018 0 3643
全局變量局部變量重名

函數內部定義的局部變量全局變量重名時,函數在使用該變量的時候會以局部變量覆蓋全局變量。也就是只有局部變量會起效果。在此定義域中賦值等操作時都不會使用到全局變量。 在main函數或其他函數里定義了局部變量,同時同名的全局變量同時也存在,當調用一個使用了該變量的函數(該變量在此函數中 ...

Fri Mar 11 03:44:00 CST 2016 0 4855
局部變量全局變量的區別

背景:上午看書閱及這兩對概念,有很多相似之處,故記之。 一. 局部變量&全局變量   1 局部變量:“在函數內定義的變量”,       即在一個函數內部定義的變量,只在本函數范圍內有效。   2 全局變量:“在函數外定義的變量”,       即從定義變量的位置到本源文件結束 ...

Tue May 16 21:42:00 CST 2017 0 45766
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM