本來是想一篇部落格寫完呢,不過感覺篇幅大了,就分了兩篇。這篇接著上一篇來總結,Javascript初學者需要注意的一些事項:
二,注意事項:
第1,2兩點,注意區分大小寫和單引號,雙引號的上一篇部落格已經提到!我們從第三個開始說。
3,括弧:在Javascript中括弧包含兩種語義,一是分隔字元;二是運算式。
例如:分隔字元:(1+3)*3==12中括弧就起著分隔字元的含義。
運算式:(function(){})();這裡前邊一個括弧表示分隔字元,後邊一個表示立刻執行這個方法。
4,函數調用和引用:
例如:var
foo=example();
varfoo1=example;
第一個表示調用函數example的傳回值給foo,第二個表示將函數的引用賦給一個值foo1.
5,換行:
無論使用哪種引號建立字串,字串中間都不能包含強制分行符號。
換行可以通過在行的結尾加上“\”或者在下一行的前邊用串連符“+”來告知瀏覽器上下兩行是一行
連續的。
例如:
var temp='<h2 class ="a"> A list</h2>' +"<ol>" +'<li class="n"> Foo</li>' +"</ol>";
等價於:
var temp='<h2 class ="a"> A list</h2>'\ "<ol>"\ '<li class="n"> Foo</li>'\ "</ol>";
6,分號,大括弧可選:
在Javascript中每行語句的最後並不是必須用分號結尾,這是可選項;裡邊的大括弧也是可選項。但是為了避免某種歧異,強烈建議大家都不全這些東西。幾個例子:
Alert("nihao !");和alert("nihao
!") 有無分號,是沒有區別的;
卻是完全不同的!
7,不支援重載:
Javascript雖然也是物件導向編程的,但是從在在這裡卻不支援。
例如:
function myFunction(a,b){};
function myFunction(a)();
這兩個同時出現在指令碼代碼中,由於不支援重載,會導致下邊的函數將上邊的函數覆蓋。
8,範圍,閉包:
範圍:其實和我們代碼編程裡邊的命名空間相似,就是指某一屬性或方法具有存取權限的代碼空間,也就是我們經常說的局部變數,全域變數等等。例如:
function myFunction(){
var temp="ljh";
}
上邊的temp在函數外面無法訪問。
閉包:是和範圍息息相關的,就是能夠讀取其他函數內部變數的函數。可以理解為定義在函數內部的函數。
例如:
function f1(){ n=999; function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999
當然閉包的用途:一個是前面提到的可以讀取函數內部的變數,另一個就是讓這些變數的值始終保持在記憶體中。例如:
function f1(){ var n=999; nAdd=function(){n+=1} function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999 nAdd(); result(); // 1000
result實際上就是閉包f2函數。它一共運行了兩次,第一次的值是999,第二次的值是1000。這證明了,函數f1中的局部變數n一直儲存在記憶體中,並沒有在f1調用後被自動清除。
這些既是閉包的優點,又是閉包的缺陷,使用閉包時一定要慎用。
綜上,為一下我們學習Javascript需要注意的一些事項,當然還有很多,這裡這是簡單列出幾點。更多的學習還需要我們不斷的實踐。