Pages

2012年3月21日 星期三

JavaScript 基本語法小常識

幾個小常識。
範例一
<script language="JavaScript">
<!--
document.write("Hello, World.This sentence is written using JavaScript.");
// Text on the right of 2 slashes is comment
/* This is comment
that occur more than 1 line
*/
//-->
</script>
<noscript>
Sorry, but your browser doesn't run JavaScript.
</noscript>
  • <!-- 和 //-->
    <!-- 和 //--> 其實是 HTML 的註解標記, 而 // 則是 JavaScript 的註解標記, 為什麼要在 JavaScript 的範圍內寫 HTML 的註解標記呢? 因為有些很舊的瀏覽器在沒有 JavaScript 的年代就誕生了,所以這些瀏覽器當然不知道有 JavaScript 這東西, 它們會誤以為寫在 HTML 檔內 JavaScript 是 HTML 碼, 所以我們會加入 HTML 的註解標記, 令那些舊的瀏覽器忽略 JavaScript。 同理, 那個 // 是用來令 JavaScript 編譯器忽略 --> 標記。
  • <noscript> 和 </noscript> 
    在某些情況下瀏覽器不能夠執行 JavaScript , 原因有兩個: 第一是舊的瀏覽器不知道有 JavaScript , 第二就是使用者關閉了 JavaScript 功能。 這時瀏覽器就會顯 <noscript> 範圍的內容, 讓網頁管理員通知瀏覽者該網頁有些內容不能如常運作。你可以嘗試關閉 JavaScript 功能, 然後重新載入這網頁, 就會見到一句 Sorry, but your browser doesn't run JavaScript.。
  • 這兩類標記一定要寫在 <body> 範圍。

範例二

若希望存取 my_name 變數,建議採用 document.my_form.my_name,若忽略會導致有些瀏覽器看不懂,例如 Netscape。
<form name="my_form">
<input type="text" name="my_name" value="Your name here">
</form>

範例三在 JavaScript 中,比較是否為相等的運算子有兩類:== 以及 ===,其中 "==" 只會比較兩者的數值是否相等;而 "==="除了比較數值,還會比較型別。
<html>
<head></head>
<body>
<script language="JavaScript">
var x = 5;
var y = "5";
document.write( "x == y is " + (x == y) + "<br>") ; // 結果為 true
document.write( "x === y is " + (x === y) ) ; // 結果為 false
</script>
</body>
</html>

範例四當你需要類似 Foreach 的方式,來循序地存取陣列或物件的元素時,可以採用 For ... in 敘述。
<html>
<body>
<script language="JavaScript">
var x;
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";

for (x in mycars) {
document.write(mycars[x] + "<br />"); //依序取出mycars中的變數值
}
</script>
</body>
</html>

沒有留言:

 
Blogger Templates