1. 程式人生 > >學習JavaScript基本語法

學習JavaScript基本語法

1.1  字元編碼      

       由於JavaScript使用Unicode字符集編寫,每個字元使用兩個位元組表示,那麼就可以用中文來命名變量了(習慣了英文命名,第一次嘗試寫中文變數感覺好彆扭=。=)。不過並不建議用漢字命名變數,ECMAScript 1,2版本只允許Unicode字元出現在註釋。

<script>
    var 人名 = "老張";
    function 睡覺(誰) {
        alert(誰 + ":快睡覺!都半夜了!");
    }
    睡覺
(人名); </script>

1.2  區分大小寫

      JavaScript嚴格區分大小寫,使用率較高的大小寫方式有(畢竟寫的好看的程式碼真的令人舒暢):

(1)建構函式時,函式名首字母大寫(.js檔案中):

d = new Date();                //獲取當前日期和時間
alert(d.toString());           //顯示日期

(2)多個詞語連寫:

駱駝命名法(就是每個單詞的首字母大寫,讓人輕鬆判斷函式名的意思):

printEmployeePaychecks();

下劃線命名法(就是用下劃線分詞):

print_employee_paychecks();

1.3  識別符號

      JavaScript識別符號主要包括:變數名,函式名,引數名,屬性名。命名規則與C語系基本相同。

      ECMAScript 3中,可以用Unicode字符集命名,但不建議使用;另外也可以用Unicode轉義序列。例如:

var \u0061bc = "識別符號abc中a字元的Unicode轉義序列是\\u0061";
alert(\u0061bc);

轉義不方便,很少用。在JavaScript關鍵字,指令碼程式等特殊情況才使用轉義序列傳達或者顯示特殊字元。

1.4  直接量

      就是在程式中直接顯示的值,如字串,數值,布林值,正則表示式,物件初始化,陣列初始化等。

"字串直接量"              //字串直接量
123456                     //數值直接量
true                      //布林值直接量
/^ab.*/g                  //正則表示式直接量
null                      //特殊值直接量
{a:1,b:2}                  //物件初始化直接量
[9,6,4]                    //陣列初始化

1.5  關鍵字和保留字

ECMAScript 關鍵字


ECMAScript 5保留關鍵字:class,const,enum,export,extends,import,super。

嚴格模式下的保留關鍵字:implements,let,private,public,yield,interface,package,protected,static。

嚴格模式下,嚴格限制  arguments, eval 作為變數名,函式名或者引數名。

ECMAScript 3將Java所有關鍵字都列為保留字,ECMAScript 5放寬了限制。

                                                                    JavaScript預定義全域性變數和函式

                               

1.6  分隔符

空格,製表符,換行符,換頁符等,在JavaScript中統稱分隔符。(雖然沒有實際意義,但是不能缺少)例如:


 
  functiontoStr(a){returna.
  toString
  ()
  ;
  } 
  //錯誤寫法
 
 
 
  function 
  toStr
  (a) {
  return 
  a.
  toString
  ()
  ;
  } 
  //正確寫法
 
 
  JavaScript解析器一般採用最長行匹配原則(在一行內如果能進行解析,那麼就在一行內進行解析,否則會繼續讀取下一行程式碼,直到能正確解析為止),以下程式碼出錯
 
 

function toStr(a) {
    return
    a.toString(); //錯誤換行
}
alert(toStr("abc"));

由於return可以被解析器正常解析,則解析器會在正常解析的情況下為其補加一個分號,因此實際解析為:

function toStr(a) {
    return;
    a.toString();
}
alert(toStr("abc"));

這段程式碼的正確寫法應該是:

function toStr(a) {
    return a.toString();
}
alert(toStr("abc"));

並且不能在識別符號關鍵字等名稱中新增分隔符:

function toStr(a) {
    return a.to String();              //分隔符錯誤
}
alert(toStr("abc"));

在字串和正則表示式中的分隔符會被認為是具有意義的zifu並進行解析:

var a = "空格,製表符和換行符";
var b = "空格 , 製表符和換行符";
alert((a==b).toString());               //返回false

1.7  註釋

註釋不會被解析。

//程式碼段前註釋,概述程式碼段功能
function toStr(a) {                           //語句間註釋,介紹函式
    //程式碼段中註釋,區域程式碼功能描述
    return a.toString();                       //語句結束後註釋,語句作用描述
}
/*
多行註釋
多行註釋
*/