標籤:負數 air 這一 round 第一個 form 獲得 斜杠 封裝
一. JavaScript文法目錄
- 文法
- 操作
- 條件陳述式
- 迴圈語句
- 函數
- 對象
二. 具體內容
2.1 文法
javaScript代碼要通過HTML/XHTML文檔才能執行。可以有兩種方式完成這一點,第一種是將JavaScript代碼放到文檔<head>標籤中的<Script>標籤之間:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>test</title> <script> JavaScript goes here! </script> </head><body> Mark up goes here!</body></html>
另一種更好的方式是把JavaScript代碼存放為一個副檔名為.js的獨立檔案,典型做法是在文檔的<head>部分放一個<script>標籤,並把它的src屬性指向該檔案:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>test2</title> <script src="Mairr.js"></script></head><body> Mark up goes here! <!--其中,<script>標籤最好放置在</body>標籤之前,能夠使瀏覽器更快的載入頁面,後面章節會詳細介紹--></body></html>
(1) 語句
一系列指令構成,這些指令叫做語句。JS的語句分隔要求不那麼嚴格,換行即可表示語句的結束,當然,出於編程習慣,最好加上分號。(一下三種編程方式都是正確的,建議選擇最後一種)
<!--直接斷行符號換行-->first statementsecond statement<!--分號隔開-->first statement; second statement;<!--分號並換行-->first statement; second statement;
(2) 注釋
- 單行注釋: // ...
- 塊注釋: /* .... */
- HTML文檔中注釋: <!--這是要注釋掉的部分-->
- javascript中有半邊即可作為行注釋: <!--這是只是掉的行內容,後半部分括弧可以不需要了
(3) 變數
javaScript允許直接對變數賦值而無需事先聲明(弱程式設計語言)。如果對某個變數賦值之前未聲明,賦值操作將自動聲明該變數。出於編程習慣,最好對變數做出聲明;例如:var name,age。
變數的命名要滿足以下原則:
- 變數和其他文法元素的名字都是區分大小寫;
- 變數名中不允許有空格、標點(貨幣符號除外$);
- 變數名允許包含字母、數字、貨幣符號(&),但是,第一個字元不允許是數字;
- 較長變數名建議加上底線增加可讀性;(var my_name;);
(4) 資料類型
a. 字串
字串包括(但不限於)字母、數字、標點符號和空格。字串必須包在引號裡面,單引號或者雙引號都可以。有的時候字串內部有單引號/雙引號,需要用逸出字元(\);在javaScript中,用反斜線對字元進行轉義: var mood = ‘don\‘t ask‘;(以避免和但引號混淆)。
b. 布爾值
布爾資料只有兩個可選值---->ture/false。(注意ture/false不要用引號括起來,否者會將其當做做字串的賦值操作)
c. 數值
JavaScript允許使用帶小數點的數值,並且允許任意位小數,這樣的數稱為浮點數,數值前添減號(-)表示負數。
(5) 數組
JavaScript根本不需要在聲明數組時候必須給出元素個數,向數組中添加元素操作稱為填充。var person = Array("mairr",1949,ture)。
(6) 對象
與數組一樣,對象也是使用一個名字表示一組值。對象的每個值都是對象的屬性。例如:
var Mairr = Object();Mairr.name = "HuGe";Mairr.age = 18;Mairr.living = false;
2.3 操作
算術操作符(包含加、減、乘、除、括弧、自增++、自減--)。將多個字串首尾相連的操作叫做拼接。如下所示,拼接樣本:
// 直接拼接var message = "I am feeling" + "sad";// 通過變數完成·拼接var mood = "sad";var message = "i am feeling" + mood;
2.4 條件陳述式
if條件陳述式基本文法結構:if(condition){statements;}
(1) 比較操作符
- 基本比較符“>,<,<=,>=,”
- 不等號“!=”
- 注意幾個等號的區別:
- "="表示賦值符號;
- "=="不表示嚴格相等,例如,用"=="號比較false與Null 字元串的關係,會返回true,並不是嚴格相等;
- "==="表示嚴格相等;
(2) 邏輯操作符
- 邏輯與 "&&"
- 邏輯或 "||"
- 邏輯非 "!"
(邏輯運算的結果是布爾型true/false)
2.5 迴圈語句
(1)while迴圈
// 方式一while(condition){ statements;}// 方式二do{ statements;}while(condition);
(2)for迴圈
for(initial condition; test condition; alter condition){ statements;}
2.6 函數
如果需要多次使用同一段代碼,可以把它們封裝成一個函數。函數(function)就是一組允許在你的代碼裡隨時調用的語句。每個函數實際上是一個短小的指令碼。
定義一個函數的文法如下所示:
function name(arguments){ statements;}
變數既可以是全域的,也可以是局部的。這就是變數的範圍。
全域變數可以在指令碼的任何位置被引用。一旦你在一個指令碼裡聲明了一個全域變數,就可以從這個指令碼中的任何位置(包括函數內部)引用它。全域變數的範圍是整個指令碼。
局部變數只存在於聲明它的那個函數的內部,在那個函數的外部是無法應用他的,局部變數的範圍僅限於某個特定的函數。
如果在函數中使用了var,那個變數將被視為一個局部變數,它只存在於這個函數的上下文中;反之,如果沒有使用var,那個變數將被視為一個全域變數,如果指令碼裡已經有在一個與之同名的全域變數,這個函數就會改變那個全域變數的直。
樣本如下:
function square(num){ total = num *num; // 此處為全域變數,當設定為 var total = num *num; --->才是局部變數 return total;}var total = 50; // 此處為局部變數var number = square(20);alert(total);
得到結果是:
全域變數total的值變成了400,而不是局部變數的50。
2.7 對象
對象(Object)是一種資料類型,包含在對象裡的資料可以通過兩種形式訪問——屬性(property)和方法(method):
- 屬性是隸屬於某個特定對象的變數;
- 方法是只有某個特定對象才能調用的函數;
對象就是由一些屬性和方法組合在一起而構成的一個資料實體,在javaScript裡,屬性和方法都使用"點"文法來訪問:
- Object.property
- Object.method()
為給定對象建立一個新執行個體需要使用new關鍵字
var Mairr = new person;
2.7.1 內建對象
JavaScript提供了一系列預先定義好的對象,這些可以拿來就用的對象稱為內建對象。JavaScript中有許多內建對象,其中包括Array對象、Math對象、Date對象。例如,可以直接建立執行個體,然後調用其屬性/方法:
// 例一var beatles = new Array();beatles.length;// 例二var current_date = new Date();var taday = current_date.getDay();
2.7.2 宿主對象
除了內建對象之外,JavaScript指令碼裡使用一些已經預先定義好的其他對象。這些對象不是有JavaScript語言本省提供的,而是由他的運行環境提供的。具體到Web應用,這個環境就是瀏覽器。由瀏覽器提供的預定義對象被稱為宿主對象。
宿主對象包括Form、Image、Element等。我們可以通過這些對象獲得關於網頁上表單、映像和各種表單元素等資訊。
JavaScript DOM 編程藝術(1)---> JavaScript文法