JS基礎語法

JavaScript的運行環境和代碼位置
編寫JavaScript腳本不需要任何特殊的軟件,一個文本編輯器和一個Web瀏覽器就足夠瞭,JavaScript代碼就是運行在Web瀏覽器中。
用JavaScript編寫的代碼必須嵌在一份html文檔才能得到執行,這可以通過兩種方法得到,第一種是將JavaScript代碼直接寫在html文件中,這多用於僅適用於一個頁面的JS程序;另一種是把JavaScript代碼存入一個獨立的文件中(.js作為擴展名),在利用<Script>標簽的src屬性指向該文件.
將JavaScript直接嵌入頁面文件中
<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>歡迎進入"我的事務備忘錄"</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="web/js/strUtil.js" type="text/javascript"></script>
</head>
<body>
<p>這個頁面應該很快消失,如果它停止說明Web容器已經停止運作瞭,或JavaScript功能未開啟
<form method=post action="ShowPage?page=login">
</form>
<p>
</body>
</html>
<script LANGUAGE="JavaScript">
<!–
document.body.onload=function(){
 document.forms[0].submit();

//–>
</script>

將JavaScript存入單獨的文件中(頁面文件)
<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>"我的事務備忘錄"用戶登錄頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="web/js/ajax.js" type="text/javascript"></script>
<link rel="stylesheet" rev="stylesheet" href="web/css/style.css"
 type="text/css" />
</head>
<body>
<p id="branding">歡迎進入"個人事務備忘錄",請輸入您的用戶名和密碼,再按登錄鍵登錄
<form method=post action="ShowPage?page=loginCheck">
 <table  bgcolor="#ffffff" id="TbSort" class="Listing" width="200" align=center>
  <tbody id="loginTable">
   <tr><th align="center" colspan=3>用戶登錄.</th></tr>
   <tr>
    <td width=50>用戶名:</td>
    <td width=150><input type="text" name="userName" value=""
      style="width: 300px; height: 20px" /></td>
   </tr>
   <tr>
    <td width=50>密碼:</td>
    <td width=150><input type="text" name="userPswd" value=""
      style="width: 300px; height: 20px" /></td>
   </tr>
   <tr>
    <td width=50></td>
    <td width=150><input type="submit" value="登錄"
      style="width: 100px; height: 20px" /></td>
   </tr>
  </tbody>
 </table>
</form>
<p>
</body>
</html>
將JavaScript存入單獨的文件中(ajax.js)
var prjName="/MyTodoes/";
var ajaxObj;
function createAjaxObject(){
 try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){};
 try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){};
 try{return new XMLHttpRequest();}catch(e){};
 alert("XmlHttpRequest not supported!");
 return null;
}
function $(id){
     return document.getElementById(id);
}
JavaScript中的語句和註釋
JavaScript中的語句和Java中一樣,也是一行書寫一條語句,末尾加上分號’;’,雖然js中也可以把多條語句寫在一行,但推薦不要這樣做.
JavaScript中註釋也和Java中一樣,以// 來註釋單行,/*….*/來註釋多行,雖然HTML風格的註釋<!– *****  –> 在JS中也有效,但建議不要這樣做.

JavaScript中的變量
在js中,變量允許字母,數字,美元符號和下劃線字符.變量定義使用var關鍵字,如
var age;
age=23;
var name=“andy”;
雖然js允許程序員可以直接對變量進行賦值而無需提前對它們做出聲明,但我們強烈建議不要這樣做.
Js中變量和其它語法元素都是區分字母大小寫的,如變量age,Age,AGE沒有任何關系,它們都不是同一個變量.
JavaScript是一種弱類型語言
和強制要求程序員對數據類型做出聲明的強類型(Strongly typed)程序設計語言如java,C#等不一樣,js不要求程序員進行類型說明,這就是所謂的弱類型”weakly typed”語言.這意味著程序員可以隨意改變某個變量的數據類型.
以下寫法在Java中是絕對不允許的,但在js中完全沒有問題:
var age=23;
age=“Twenty three”
Js並不關心age的值是字符串還是變量.
JavaScript中的數據類型-字符串
字符串必須放在單引號或雙引號中.如
var name=“Andy”;
var name=‘Bill’;
一般情況下宜使用雙引號,但如果字符串中有雙引號則應該把字符串放在單引號中,反之則應該把字符串放在雙引號中.
JavaScript中的數據類型-數值
Js中並沒有int,float,double,long的區別,它允許程序員使用任意位數的小數和整數,實際上js中的數值應該被稱為浮點數.
如:
var salary=10000;
var price=10.1;
var temperature=-6;
JavaScript中的數據類型-佈爾值
Js中的佈爾值和Java中的一致,true表示真,false表示假,如:
var isMale=true;
var isFemale=false;
註意佈爾值true和false不要寫成瞭字符串”true”和’false’.
JS中的函數
如果需要多次使用同一組語句,可以把這些語句打包成一個函數。所謂函數就是一組允許人們在代碼中隨時調用的語句。從效果上看,每個函數都相當於一個短小的腳本。
和Java中每個函數都在類中不一樣,JS中函數不必屬於一個類,在使用上它類似於Java中的靜態公有函數,隻要引入這個函數所在的文件就可以使用它。
JS中函數的語法
JS中,一個函數的大致語法如下:
function fname(args){
      statements;
}
Function是函數的固定標志;fname是函數名;args是函數參數,它可以有很多個,隻要你把它們用逗號分割開來即可;statements是其中的語句,每句結尾都和java中一樣用“;”表示結束。
在定義瞭這個函數的腳本(頁面)中,你可以從任意位置去調用這個函數;引入這個頁面後,你還可以從其它頁面訪問它。
一般來說,對於共通性強,適用面廣,會在多個頁面中調用的函數,我們一般把它們放在一個JS頁面中,然後由需要使用這些函數的頁面引入它們;而對於隻適用於一個頁面的函數,還是把它放在單個頁面中較好。
JS函數的返回值
在JS中,函數不僅能夠以參數的形式接受數據,運行代碼,它和其它編程語言中的函數一樣,可以返回數據。
讓JS函數返回數據,你不需要也不能在函數簽名上動任何手腳,隻需要用return語句返回你想返回的數字即可,舉例如下:
function substract(op1,op2){
     return op1-op2; }
}
JS中變量的作用域
在JS中,我們提倡用var來定義一個變量,凡是變量就會有作用域的問題,根據定義方式和位置的不同,它既可能是全局的,也有可能是局部的。
用var定義在腳本文件中,不屬於任何一個函數的變量,它的作用域就是全局性的,它可以在腳本中的任何位置被引用,包括有關函數的內部。全局變量的作用域是整個腳本。
用var定義在函數中的變量,它的作用域就是局部性的,它的作用域僅限於這個函數,在函數的外部是無法使用它的。
不用var定義在函數中的變量,它的作用域是全局的,如果你的腳本裡已經存在一個與之同名的變量,這個函數將覆蓋那個現有變量的值。
定義函數時,我們必須明確的把它內部的變量都明確的聲明為局部變量,如果從來沒有忘記在函數中使用var關鍵字,就可以避免任何形式的二義性隱患。
JS中的數組
在JS中,我們使用Array關鍵字聲明數組,在聲明時對數組長度進行限定,如:
var arr=Array(3);
有時運行起來才知道數組長度,JS中我們也可以這樣定義數組:
var arr=Array();
向數組中添加元素時你需要給出新元素的值,還需要在數組中為新元素制定存放位置,這個位置由下標給出,如arr[1]=4。
在JS中定義數組的例子
定義方式一:
var arr=Array(3);
arr[0]=“劉備”; arr[1]=“關於”; arr[2]=“張飛”;
定義方式二:
var arr=Array();
arr[0]=3; arr[1]=4;arr[2]=5;
定義方式三:
Var arr=Array(“1”,2,true);
定義方式四:
var arr=[“征東”,”平西”,”鎮南”,”掃北”];
 

發佈留言