在什么地方插入 JavaScript
JavaScript 可以出現在 HTML 的任意地方。使用標記<script>…</script>,你可以在 HTML 文檔的任意地方插入 JavaScript,甚至在<HTML>之前插入也不成問題。不過如果要在聲明框架的網頁(框架網頁)中插入,就一定要在<frameset>之前插入,否則不會運行。
基本格式
<script>
<!--
...
(JavaScript代碼)
...
//-->
</script>
第二行和第四行的作用,是讓不懂<script>標記的瀏覽器忽略 JavaScript 代碼。一般可以省略,因為現在想找不懂 Script 的瀏覽器,恐怕就連博物館里也沒有了。第四行前邊的雙反斜杠“//”是 JavaScript 里的注釋標號,以后將學到。
另外一種插入 JavaScript 的方法,是把 JavaScript 代碼寫到另一個文件當中(此文件通常應該用“.js”作擴展名),然后用格式為“<script src="javascript.js"></script>”的標記把它嵌入到文檔中。注意,一定要用“</script>”標記。
參考 <script>標記還有一個屬性:language(縮寫lang),說明腳本使用的語言。對于 JavaScript,請用“language="JavaScript"”。
參考 相對于<script>標記,還有一個<server>標記。<server>標記所包含的,是服務器端(Server Side)的腳本。本教程只討論客戶器端(Client Side)的 JavaScript,也就是用<script>標記包含的腳本。
如果想在瀏覽器的“地址”欄中執行 JavaScript 語句,用這樣的格式:
javascript:<JavaScript語句>
這樣的格式也可以用在連接中:
<a href="javascript:<JavaScript語句>">...</a>
JavaScript 基本語法
每一句 JavaScript 都有類似于以下的格式:
<語句>;
其中分號“;”是 JavaScript 語言作為一個語句結束的標識符。雖然現在很多瀏覽器都允許用回車充當結束符號,培養用分號作結束的習慣仍然是很好的。
語句塊 語句塊是用大括號“{ }”括起來的一個或 n 個語句。在大括號里邊是幾個語句,但是在大括號外邊,語句塊是被當作一個語句的。語句塊是可以嵌套的,也就是說,一個語句塊里邊可以再包含一個或多個語句塊。
JavaScript 中的變量
什么是變量 從字面上看,變量是可變的量;從編程角度講,變量是用于存儲某種/某些數值的存儲器。所儲存的值,可以是數字、字符或其他的一些東西。
變量的命名 變量的命名有以下要求:
只包含字母、數字和/或下劃線;
要以字母開頭;
不能太長(其實有什么人喜歡使用又長又臭的名字呢?);
不能與 JavaScript 保留字(Key Words,Reserved Words,數量繁多,不能一一列出;凡是可以用來做 JavaScript 命令的字都是保留字)重復。
而且,變量是區分大小寫的,例如,variable 和 Variable 是兩個不同的變量。不僅如此,大部分命令和“對象”(請參閱“對象化編程”章)都是區分大小寫的。
提示 給變量命名,最好避免用單個字母“a”“b”“c”等,而改用能清楚表達該變量在程序中的作用的詞語。這樣,不僅別人能更容易的了解你的程序,而且你在以后要修改程序的時候,也很快會記得該變量的作用。變量名一般用小寫,如果是由多個單詞組成的,那么第一個單詞用小寫,其他單詞的第一個字母用大寫。例如:myVariable 和 myAnotherVariable。這樣做僅僅是為了美觀和易讀,因為 JavaScript 一些命令(以后將用更具體的方法闡述“命令”一詞)都是用這種方法命名的:indexOf;charAt 等等。
變量需要聲明 沒有聲明的變量不能使用,否則會出錯:“未定義”。聲明變量可以用:
var <變量> [= <值>];
var 我們接觸的第一個關鍵字(即保留字)。這個關鍵字用作聲明變量。最簡單的聲明方法就是“var <變量>;”,這將為<變量>準備內存,給它賦初始值“null”。如果加上“= <值>”,則給<變量>賦予自定的初始值<值>。
數據類型 變量可以用的數據類型有:
整型 只能儲存整數。可以是正整數、0、負整數,可以是十進制、八進制、十六進制。八進制數的表示方法是在數字前加“0”,如“0123”表示八進制數“123”。十六進制則是加“0x”:“0xEF”表示十六進制數“EF”。
浮點型 即“實型”,能儲存小數。有資料顯示,某些平臺對浮點型變量的支持不穩定。沒有需要就不要用浮點型。
字符串型 是用引號“" "”、“' '”包起來的零個至多個字符。用單引號還是雙引號由你決定。跟語文一樣,用哪個引號開始就用哪個結束,而且單雙引號可嵌套使用:'這里是"JavaScript 教程"。' 不過跟語文不同的是,JavaScript 中引號的嵌套只能有一層。如果想再多嵌一些,你需要轉義字符:
轉義字符 由于一些字符在屏幕上不能顯示,或者 JavaScript 語法上已經有了特殊用途,在要用這些字符時,就要使用“轉義字符”。轉義字符用斜杠“/”開頭:/' 單引號、/" 雙引號、/n 換行符、/r 回車(以上只列出常用的轉義字符)。于是,使用轉義字符,就可以做到引號多重嵌套:'Micro 說:"這里是/"JavaScript 教程/"。" '
布爾型 常用于判斷,只有兩個值可選:true(表“真”)和 false(表“假”)。true 和 false 是 JavaScript 的保留字。它們屬于“常數”。
對象 關于對象,在“對象化編程”一章將詳細講到。
由于 JavaScript 對數據類型的要求不嚴格,一般來說,聲明變量的時候不需要聲明類型。而且就算聲明了類型,在過程中還可以給變量賦予其他類型的值。聲明類型可以用賦予初始值的方法做到:
var aString = '';var anInteger = 0;| 括號 | (x) [x] | 中括號只用于指明數組的下標 |
| 求反、自加、自減 | -x | 返回 x 的相反數 |
| !x | 返回與 x (布爾值)相反的布爾值 | |
| x++ | x 值加 1,但仍返回原來的 x 值 | |
| x-- | x 值減 1,但仍返回原來的 x 值 | |
| ++x | x 值加 1,返回后來的 x 值 | |
| --x | x 值減 1,返回后來的 x 值 | |
| 乘、除 | x*y | 返回 x 乘以 y 的值 |
| x/y | 返回 x 除以 y 的值 | |
| x%y | 返回 x 與 y 的模(x 除以y 的余數) | |
| 加、減 | x+y | 返回 x 加 y 的值 |
| x-y | 返回 x 減 y 的值 | |
| 關系運算 | x<y x<=y x>=y x>y | 當符合條件時返回 true 值,否則返回 false 值 |
| 等于、 不等于 | x==y | 當 x 等于 y 時返回 true 值,否則返回 false 值 |
| x!=y | 當 x 不等于 y 時返回 true 值,否則返回 false 值 | |
| 位與 | x&y | 當兩個數位同時為 1 時,返回的數據的當前數位為 1,其他情況都為 0 |
| 位異或 | x^y | 兩個數位中有且只有一個為 0 時,返回 0,否則返回 1 |
| 位或 | x|y | 兩個數位中只要有一個為 1,則返回 1;當兩個數位都為零時才返回零 |
| 位運算符通常會被當作邏輯運算符來使用。它的實際運算情況是:把兩個操作數(即 x 和 y)化成二進制數,對每個數位執行以上所列工作,然后返回得到的新二進制數。由于“真”值在電腦內部(通常)是全部數位都是 1 的二進制數,而“假”值則是全部是 0 的二進制數,所以位運算符也可以充當邏輯運算符。 | ||
| 邏輯與 | x&&y | 當 x 和 y 同時為 true 時返回 true,否則返回 false |
| 邏輯或 | x||y | 當 x 和 y 任意一個為 true 時返回 true,當兩者同時為 false 時返回 false |
| 邏輯與/或有時候被稱為“快速與/或”。這是因為當第一操作數(x)已經可以決定結果,它們將不去理會 y 的值。例如,false && y,因為x == false,不管 y 的值是什么,結果始終是 false,于是本表達式立即返回 false,而不論 y 是多少,甚至 y 可以導致出錯,程序也可以照樣運行下去。 | ||
| 條件 | c?x:y | 當條件 c 為 true 時返回 x 的值(執行 x 語句),否則返回 y 的值(執行 y 語句) |
| 賦值、 復合運算 | x=y | 把 y 的值賦給 x,返回所賦的值 |
| x+=y x-=y x*=y x/=y x%=y | x 與 y 相加/減/乘/除/求余,所得結果賦給 x,并返回 x 賦值后 | |
if ( <條件> ) <語句1> [ else <語句2> ];if (a == 1)
if (b == 0) alert(a+b);
else
alert(a-b);if (a == 1) {
if (b == 0) alert(a+b);
} else {
alert(a-b);
}for (<變量>=<初始值>; <循環條件>; <變量累加方法>) <語句>;for (i = 1; i < 10; i++) document.write(i);while (<循環條件>) <語句>;switch (e) {
case r1: (注意:冒號)
...
[break;]
case r2:
...
[break;]
...
[default:
...]
} 新聞熱點
疑難解答