第三章 Js變數的作用域和匿名函式

2022-05-10 04:26:10 字數 762 閱讀 3975

3.1

先看下面的事例:

①var temp=0;

②temp=0;

當js解析器檢測到①這種情況的時候,解析器會為這個變數開闢乙個記憶體空間,如果前面已經存在這個變數,就會把這個變數覆蓋掉。

當解析器檢測到①這種情況的時候,解析器會尋找當前物件的父級物件有沒有這個變數,以此查詢,只到找到位置;如果還找不到,就會在windows物件裡定義這個變數。

再看下面例子

①function

f()

f();

console.log(_temp);

②function

f()

f();

console.log(_temp);

大家看可以在資料夾第三章01.htm、02.htm中看到兩段**,大家可以先猜測下執行結果。

從上面的**中大家可以總結出

⒈我們定義變數的時候如果加上var 就會避免給全域性增加不必要的變數,我們定義變數的時候盡量前面加 var

2.函式內部定義的變數是私有的

3.2匿名函式

這樣,匿名函式就有了乙個特殊的用途,放置全域性汙染;jquery就是乙個匿名函式

(function

(z, v) )(window);

這裡等價的寫法就是

function

myfun(z, v) );

myfun(window);

第三章 方法和作用域

1 方法是具名的語句序列 2 方法名和變數名遵循相同的識別符號命名規則。3 return通常放到方法尾部,因為它導致方法結束,控制權返 用方法的語句,return後面的任何語句都不執行 如果return語句之後還有其他語句,編譯器會發出警告 4 假如不希望方法返回資料 返回型別是void 可利用re...

第三章 變數和型別

constant表示限定為常量 null 1 還是null 所以在運算時要注意 varchar2有兩個子型別 string和varchar 作用完全相同 nchar 和nvarchar2是char和varhcar2的unicode版本 char到nchar轉換是安全的反之可能會引起資料丟失 數字用n...

js模式第三章

迴圈物件為dom時,儲存dom物件的長度可以提高瀏覽器效能 現在還是的嘛?目前,我所說知道的兩種建立物件的方法,物件字面量和new object。其中,物件字面量方法更簡單明瞭,另乙個原因是它只是強調了該物件僅是乙個可變雜湊對映,而不是從物件中提取屬性和方法。與new object相比,物件字面量沒...