準備工作:
編寫javascript并不需要復雜的工具,其編寫的代碼必須通過HTML/XHTML文檔執行。有兩種方式可以做到,第一種是在head標簽中的script標簽中寫生javascript代碼。
另外一種方式使我們推薦的使用的方式,把js代碼放在外部,在引用進去,引用的位置最好是在HTML文檔最后,</body>之前,這樣可以加快瀏覽器加載頁面的速度。引
用的方式就是在script標簽中的src屬性上賦值,所寫js代碼的路徑。
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title></title>
6 </head>
7 <body>
8
..
9 <script src="file.js"></script>
10 </body>
11 </html>
語法: 一.語句:js的語句可以不加分號而把他們放在不同行上,但這不是好的編程習慣,為了培養好的編程習慣,我們每條語句都給它加上分號,不管是不同行的還是同一行的。 二.注釋:(1)行注釋// (2)段注釋/**/ (3)HTML風格行注釋<!--(不推薦使用,容易于HTML注釋混淆) 三.變量:使用var進行聲明,由于js是動態語言,可以直接用變量賦值代替變量聲明(test = “fuck”,將自動聲明test變量)。但是為了培養編程習慣,請在使用前聲明。 四.變量類型:
(1)字符串:包含在單引號或者雙引號里的字符序列,選擇的簡單原則是:如果字符串包含單引號,則使用雙引號,如果字符串包含雙引號,則是同單引號。如:var mood = "don't ask";淡然也可以用轉義字符,那么你仍然可以使用單引號,var mood = 'don\'t ask';
(2) 數值:可以直接使用整數,浮點數。var a = 3, b= 2.32;
(3) 布爾值:var test=true,sleeping = false;注意布爾值true于字符串"true"是兩碼事
Tips:標量--如果某個數是標量(scalar),它在任意時刻只能有一個值。(1)-(3)都是標量。
(4) 數組:相對于標量,如果想用變量存儲一組值,就得用數組。
4.1創建數組:
使用數組有兩種方式:一種是先聲明數組,在對數字賦值。一種是在聲明是就賦值。
第一種的話,如果使用整數索引,0開始表示第一個。第二種方式,是var test = Array("waht",1,"fuck","come",1.23);//創建了有五個元素的數組
Tips:數組的元素還可以是數組。
4.2關聯數組:(哈希數組)
var test = array();test["first"] = 1;//不推薦使用關聯數組,因為在js中,每中類型其實都是實例對象,所以這種方法的本質是給Array()對象添加
屬性,如上,添加就是first屬性。最好的情況下不應該修改Array對象屬性,而是使用OBject對象。
(5)對象:
與數組一樣的是,對象也是使用一個名字表示一組值。
5.1:創建對象,使用Object關鍵字。如:var lesson = Object();
5.2:使用.號了添加或者獲取對象的屬性。如 lesson.name = "John";
5.3:創建對象的另外一種簡單方法----花括號方法:
var lesson = {name:"John",year:1945};
Tips:
var beatles = {};//創建一個Object對象
beatles.vocalist = lesson;//為Object對象添加vocalist屬性,值為lesson對象。
于是我們這樣獲取值beatles.vacalist.name,beatles.vacalist.year 五.操作: (1)算數操作運算符(+ - * / )(2)字符串拼接運算符(+)。so:10 + 20 ---30;"10" + 20 --- 1020;(3)另外一個特殊的很好用的是+=,如:var year=2000;var message = "this is "; message += year;---"This is 2000"; 六. 條件語句、循環語句、函數(函數有點區別):略(于C、C++、Java差不多) 七.變量的作用域:
全局變量:可以在腳本任何位置引用。
局部變量:存在于指定函數內部。在函數內部,使用var關鍵字的變量一定是局部變量,而沒有使用的這是全局變量。 function square(num) {
total = num * num;//total為全局
return total;
}
var total = 50;
var number = square(20);//改變total,因為其實全局的。
alert(total);//400
function square(num) {
var total = num * num;//改成這樣就安全了
return total;
}
八:對象:一個對象包含屬性和方法,都可以通過.來訪問屬性和方法。 內建對象(其實應該成為類):Array().可以使用new關鍵字來創建var beatles = new Array();還有Date類、Math類。 宿主對象():也即是JS寄生的環境,如瀏覽器環境,則此時有瀏覽器提供的對象被成為宿主對象,Form、IMage、Element、document
總結:JS對對象的定義有點奇葩,這里總結下,首先同意觀點,可以把它所說的對象看成類,而實例化對象的方法有兩種,一種是使用關鍵字如Array()、Object()等即可,一種是
最通用的顯示的使用new關鍵字,進行對象的創建如new Array()等。