從零開始javascript(1):js基礎知識

來源:互聯網
上載者:User

1、javascript文法

a、javascript的變數名、函數、運算子是區分大小寫

b、變數是弱類型的,ECMAScript不像Java,C++。ECMAScript中的變數無特定的類型。定義變數用var。

c、每行結尾的“;”可以有也可以沒有

d、javascript注釋是"/*js content */"

2、javascript變數

a、javascipt中定義變數是:var test="hello js";(其中var 是 variable的縮寫。)並且給test變數初始值為“hello js”

b、ECMAjavascipt中定義變數可以不初始化。如:var test;

c、javascipt的變數是弱類型的,所以變數可以儲存不同類型的值。如:var test="hello js"; test=123;這是可以的

d、變數名規則:第一個字元必須是字母、底線、或者是美無符號($)

e、變數名的命名規則

》Camel標記法--首字母小寫,接下來的單詞都以大寫字母開頭

例:var myTestValue; var myResult;

》Pascal標記法--首字母是大寫的,接下來的單詞都以大寫字母開頭

例:var MyTestValue; var MyResult;

》匈牙利標記法--在以Pascal標記法的基礎上,在變數前面添加一個小寫字母說明該變數的類型。

例:var iMyTestValue =55; var sMyResult="Hello js";

3、原始值,引用值

a、原始值

primitive value 是儲存在棧(Stack)中的簡單資料區段,也就是說它們的值是直接儲存在變數訪問的位置。

b、引用值

reference value 是儲存在堆(herp)中的對象,也就是說儲存變數處的值是一個指標(point),指向對象的記憶體處

ECMAScript原始類型有:Undefined、Null、Boolean和String.

4、幾個重要的原始類型

a、Undefined 類型

此類型只有一個值即:undefined。當聲明變數未初始化時,該變數的值為undefined。

即:var test;alert(test);則輸出undefined。

注意:值undefined並不同於未定義的值。但是:typeof運算子並不真正的區分這兩種值請關注以下代碼:

var oTemp;

alert(typeof oTemp); 輸出 “undefined”;

alert(typeof oTemp2); /*沒有任何地方定義oTemp2*/ 輸出"undefined";

但是在沒有定義變數的情況下卻不可以這樣使用:alert(oTemp2 == undefined);//這會產生一個錯誤:變數未定義

當函數沒有明確傳回值,那麼這個函數的傳回值預設為:undefined。

b、Null類型

Null類型也只有一個專用值null,值undefined其實是從null派生來的,因此:

alert(null == undefined); //輸出true

此二值雖然相等,但是其含義並不相同。undefined是聲明了變數但未對其初始化時賦予該變數的值,null則用於表示

尚未存豐的對象。如果函數的傳回值為對象,那麼當找不著對象時則返回的通常是null。

c、Boolean類型

Boolean類型有兩個值true/false。

在類型轉換過程中:Null 字元串 == false;數字 0==false ;非零數字和非Null 字元串== true;

預設情況下:"null==true/false"均返回false,"undefined==true/false"也返回false

var oFalseObject = new Boolean(false);

var result = oFalseObject && true;//此處最終結果是 true,因為此處and 操作會自動將oFalseObject對象轉換

為true,而不是取此對象的值。所以此處傳回值是true;

強型別轉換時:var b = new Boolean(null); 則b的最終結果是false; var b = new Boolean(undefined);亦然

5、函數

函數是一組隨時隨地可以啟動並執行語句,由關鍵字function、一組參數、以及置於括弧內的程式碼群組成的。

如果函數未使用return 語句或者使用了空的return;語句那麼此函數的傳回值是undefined.

在ECMAScript中函數是不可以重載的,如果在同一地區有兩個函數使用了相同的名稱,不會引發錯誤,但是當代碼執行的時候真正使用的是第二個函數。

arguments對象:代函數代碼中,可以使用特殊對象,開發人員不用明確指出此參數名,就能訪問他們。arguments便是整個函數的所有參數列表數組。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.