3.1
先看下面的事例:
①var temp=0;
②temp=0;
當js解析器檢測到①這種情況的時候,解析器會為這個變數開闢乙個記憶體空間,如果前面已經存在這個變數,就會把這個變數覆蓋掉。
當解析器檢測到①這種情況的時候,解析器會尋找當前物件的父級物件有沒有這個變數,以此查詢,只到找到位置;如果還找不到,就會在windows物件裡定義這個變數。
再看下面例子
①functionf()
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相比,物件字面量沒...