javascript基本概念

來源:互聯網
上載者:User

標籤:

1:javascirpt是嚴格區分大小寫。

2:javascript(標識符)命名規則:第一個字元必須是一個字母、底線、貨幣符號,其它字元可以是字母、底線、貨幣符號或數字

3:ECMAScript標識符採用駝峰大小寫格式,也就是第一個字母小寫,剩下的每個單詞的首字母大寫。(但是沒有誰強制要求這個格式)

4:

//單行注釋
/*
*這是多行注釋
*/

5:每條語句最好用一個分號結尾,但是也可以省略分號。

6:

if (test)
alert(test); //有效但容易出錯,最好不要使用

if (test) {
alert(test);//推薦使用
}

7:var obj; 像這樣未經過初始化的變數會儲存一個特殊的值undefined

8:obj=100 這樣雖然有效,但不推薦,這樣相當於聲明了一個全域變數

9:ECMAScript有5種單一資料型別:Undefined,Null,Boolean,Number和String

  1種複雜資料類型Object

10:typeof操作符 

var message = ‘message‘;
typeof message
typeof(message)

11:Undefined類型只有一個值,即特殊的undefined

12:

var message;
alert(message)//undefined
alert(age);//報錯啦

13:最好顯示的初始設定變數,這樣的話當typeof操作符返回undefined值時,我們就知道被檢測的變數沒有被聲明,而不是尚未初始化

  因為沒有聲明的變數用typeof操作符就會直接返回undefined

14要將一個值轉換為其對應的Boolean值,可以調用轉型函數Boolean()

15Number類型:八進位字面值的第一位必須是零,十六進位的字面值的前兩位必須是Ox

  浮點婁可以這樣:var floatNum = .1;但是不推薦這樣使用

  如果浮點數小數點後面沒有任何數字,那個這個數值就可以被作為整數值來儲存,同樣,如果浮點數本身就表示一個整數(如1.0)那麼該值也會被轉換為整數

14:Number.MAX_VALUE整數的最大值

  Number.MIN_VALUE整數的最小值

  如果計算得到一個超出javascript數值範圍的值,那麼這個數值自動轉換為特殊的Infinity,如果某次返回正的或負的Infinity值,那麼該值將無法繼續參與下一次計算

  要想確定一個數值是不是有窮的,可以使用isFinite()函數

  訪問Number.NEGATIVE_INFINITY和Number.POSITIVE_INFINITY可以得到正和負的Infinity的值,所以其實這兩個屬性分別儲存著-Infinity和Infinity

15NaN特點:1任何涉及到NaN的操作都會返回NaN,2NaN與任何值都不相等,其中包括NaN本身 isNaN()這個函數接受一個參數,該參數可以是任何類型,而此函數會幫我們確定這個參數是否“不是數值”

16parseInt能夠各種整數格式

Number(789)//不能轉換789Yun
parseInt("789Yun");
parseInt("0xa313", 16);//有基數設定 也可以轉換八進位
parseInt(""); //NaN

parseFloat只解析十進位值,因此它沒有用第二個參數指定基數的用法

parseFloat解析字串,如果此字串包含一個可解析為整數的數(沒有小數點或者小數點後面全部都是零) parseFloat()會返回整數

parseFloat("32.32")

17用雙引號表示的字串和用單引號表示的字串完全相同,任何字串長度都可以通過其length屬性取得

  轉換為字串方法toString(),數值、布爾值、對象和字串都有些方法,但null和undefined值沒有此方法

  toString()如果是數值調用的話,還可以傳遞基數 eg:var a = 123; a.toString(16);

  在不知道值為null或undefined值時,可以使用轉型函數String(),這個函數能夠將任何類型的值轉換為字串,String()函數遵循轉換規則:1如果值有toString()方法,則調用該方法(沒有參數)返回相應的結果2如果值是null則返回"null"3如果值為undefined則返回"undefined"

18ECMAScript中的對象其實就是一組資料和功能的集合。在ECMAScript中,如果不能建構函式傳遞參數,則可以省略後面的那一對圓括弧

如下所示

var obj = new Object();
var obj = new Object;

19Object的每個執行個體都具有下列屬性和方法

  constructor儲存著用於建立當前對象的函數

  hasOwnProperty(propertyName)用於檢查給定的屬性在當前對象執行個體中(而不是在執行個體的原型中)是否存在

  isPrototypeOf(object)用於檢查傳入的對象是否是另一個對象的原型

  propertyIsEnumerable(propertyName)用於檢查給定的屬性是否能夠使用for-in語句

20with語句: 

with (location) {
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}

21switch

var num = 25;
switch (true) {
case num < 0: alert(‘less than 0‘); break;
case num >= 0 && num <= 10: alert(‘between 0 and 10‘); break;
case num > 10 && num <= 20: alert(‘between 10 and 20‘); break;
default: alert(‘more than 20‘);
}

switch語句在比較值時使用的是全等操作符,因此不會發生類型轉換

22函數中return語句之後的任何代碼都永遠不會執行

 return 語句也可以不帶有任何傳回值,這種情況 下,函數在停止執行後將返回undefined值 

23通過arguments對象的length屬性可以獲得有多少個參數傳遞給了函數,沒有傳遞值的具名引數將自動被賦予undefined值(ECMAScript中的所有參數傳遞的都是值,不可能通過引用傳遞參數)

24ECMAScript函數沒有重載

25與其它語言不同,ECMAScript沒有為整數和浮點數值分別定義不同的資料類型,Numer類型可用於表示所有數值

26ECMAScript中無須指定函數的傳回值,因為任何ECMAScript函數都可以在任何時候返回任何值

27ECMAScript函數中函數參數是以一個包含零或多個值的數組的形式傳遞的

28可以向ECMAScript函數傳遞任意數量的參數,並且可以通過arguments對象來訪問這些參數

 

  

 

javascript基本概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.