JavaScript核心基礎文法

來源:互聯網
上載者:User

標籤:

 

 

一. javascript 添加到 html 中的方式:

1. 外部方式:
   將<script>內容代碼</script>寫在一個建立的javascript的檔案中,然後在html檔案中引入,引入方式是在head中添加:
   <script type="text/javascript" src="javascript的檔案路徑"></script>

2. 內聯方式:
   將javascript指令碼程式碼封裝含在html事件處理常式屬性中
   <body>
    <input type="button" value="press me" onclick="alert(‘你好‘);">
   </body>

3. 內嵌方式:
   將"<script>代碼</script>"這部分內容添加在"head"\"body"\"html外部"的方式.

 

 

二. 未經處理資料類型

1. typeof 運算子: 返回資料的類型
     typeof 1 ;          返回number;
     typeof "abc";        返回string
     typeof true ;        返回boolean
     typeof null ;        返回object
     typeof (undefined);        返回undefined

2. Undefined 類型: 是未定義的類型,只有一個值,即undefined:
   var a ;(聲明了變數,但未被初始化)
   type a;  返回的值為undefined
   type b;  返回的值為undefined
   上的情況是: 定義了變數a,但未被初始化,這時a 的預設值為 undefined;
   上面沒有聲明 變數b 其類型為 Undefined ,故type也返回undefined;

3. Null 類型: 是空型,表示尚未存在的對象, 只有一個值,即null;
   alert(null==undefined);  輸出true
   代表null與undefined相等;
   如果函數或方法返回的是對象,當找不到該對象時,返回null;
   

4. Boolean 類型: 是布爾類型,有兩個值true和false
   var a = true;  聲明的變數 a 為布爾型

5. Number 類型: 是數字類型,既可以表示32位的整數,也可以表示64位的浮點數
   Number類型的幾個特殊值: 
   Number.MAX_VALUE    Number類型的最大值
   Number.MIN_VALUE    Number類型的最小值
   (所有的javascript數都必須在上面這兩個值之間,不過計算產生的數值可以不在這兩個數之間)

   Number.POSITIVE_INFINITY = infinity    正無窮大的數
   Number.NAGETIVE_INFINITY = -infinity   負無窮大的數
   isFinit(A) 函數: 判斷參數A是否為有窮數,若是返回true;反之返回false

   NaN 是表示非數字,一般用於類型轉換:
   NaN 與自身不相等
   isNaN("abc") 函數: 判斷字串abc能否轉換為數字,若不能,返回true;反之返回false
   
6. String 類型: 是字串類型,它是唯一沒有固定大小的原始類型
   字串用單引號‘‘,或雙引號""聲明,不過盡量使用雙引號 

 

 

三. 字串String的一些方法

 

  

字串String的方法(大多數方法的原字串不變):

 

1. charCodeAt(indext):  var  a = str.charCodeAt(2);  原字串不變.

    返回一個整數,即返回參數(索引值)對應字元的ASCII碼值.

     

 

2. concat():  var ss = str1.concat(str2);  原字串不變.

    將字串str2拼接在字串str1的後面,返回拼接後的新的數組.

 

3. indexOf(str2,index): var a = str1.indexOf(str2,3);  原字串不變.

    尋找子字串,返回子字串str2在str1中第一次出現的位置;

    從str1的3個索引值開始從左至右來尋找str2,若找到,返回str2第一次出現的索引值;

    若沒找到則返回-1;

   

    若index 為負數,則被當為0處理;

    若index 大於str1的最大索引值,則被當成str1的最大索引值;

    若省略了index,則代表從0開始從左至右尋找.

 

 

4. lastindexOf(str2,index):  var a = str1.lastindexOf(str2,3);  原字串不變.

    尋找子字串,返回子字串str2在str1中最後出現的位置;

    從str1的3個索引值開始從右至左來尋找str2,若找到,返回str2最後出現的索引值;

    若沒找到則返回-1;

 

    若index 為負數,則被當為0處理;

    若index 大於str1的最大索引值,則被當成str1的最大索引值;

    若省略了index,則代表從最大索引值開始從右至左尋找.

 

 

5. slice(start,[end]): var a = str1.slice(2,5); 原字串不變;

    返回字串str1的部分子字串,即start--至--[end] 索引值之間的字串;

    取start--至--end之間的字串,但不包括end對應的字元;  

    若start>end,則無元素返回;

 

    若start或end為負數,則使start或end與str1的長度值length相加,相加計算後,再來作為索引值(若運算後start>end,也無傳回值);

    若省略end,則取start後面所有的元素.

 

 

6. substring(start,end): var a = str1.substring(2,5); 原字串不變;

    返回字串str1的部分子字串,即start--至--[end] 索引值之間的字串;

    取start--至--end之間的字串,但不包括end對應的字元;  

若start或end為負數或者NaN,則將start或者end替換為0;

 

 

 

 

 

四. 數組的建立及應用

 

       
 數組的建立方式有如下幾種:

    1. 最常用的方式: var array = [1,2,3,"a","b","c"];

    2. var array = new Array(1,2,3,4,5);    

    3. var array = new Array();
       array[0] = 1;
       array[1] = 2; 
       array[2] = 3;

    4. var array = new Array(3);
       array[0] = 1;
       array[1] = 2; 
       array[2] = 3;
   
    

   

數組的方法:

   

   
1. array.shift(): 刪除數組的第一個元素,數組array發生改變

     刪除數組 array 的第一個數組元素;
     返回被刪除的元素;

2. array.pop():  刪除數組的最後一個元素,原數組發生改變
   
     刪除數組 array 的最後一個數組元素;
     返回被刪除的元素;

3.  array.unshift(參數): 在數組的前面插入資料,原數組發生改變;
   
      參數可以是一個數字,一個字元,或者另一個數組;
      返回新數組的長度;
      

4.  array.push(參數): 在數組的最後插入資料,原數組發生改變;

      參數可以是一個數字,一個字元,或者一個數組
      返回新數組的長度;
      

5.  array.splice(index,count,"a","b","c"): 刪除數組中的元素,原數組發生改變;
   
    返回被刪除的元素

    index: 表示開始刪除元素的索引
    count: 表示刪除元素的個數
    a,b,c: 可有可無,若有a,b,c,則表示在刪除元素的位置插入新的資料a,b,c;
           若沒有,則不再刪除元素的位置插入新的資料;
    
    
6. array.reverse(): 將數組逆序,返回新的數組,原數組發生改變;


7. array.slice(start,[end]): 返回部分元素,原數組不發生改變

     返回start下標--至--end下標之間的元素(不包括end對應的元素);
     
     若start>end, 則無返回元素;
     若start或者end,為負數,則系統將值轉為0;
     若start或者end,超過數組的最大索引值,則系統將值轉為數組的最大索引值;

 

 

 

 

五. 資料類型轉換:

 

 

I. (字串轉換為數字)只轉換第一個無效字元之前的字串):

    1. 轉換為整數: parseInt()

       

       parseInt("123abc");  返回123

       parseInt("22.5");    返回22

       parseInt("abc");     返回NaN (表示非數字)

 

    2. 轉換為浮點數: parseFloat()

     

       parseFloat("123abc");  返回123

       parseFloat("22.5");    返回22.5

       parseFloat("abc");     返回NaN (表示非數字)

       parseFloat("0908");    返回908

   

II.  數字轉換為字串:

    1. 直接聲明字串變數: var a = "123"; 字串"123"

    2. 最直接的方法: var str = 123 + "";  將數字123轉換為字元

    3. 用toString 函數: 

       var a = 10;

       var b = a.toString();  返回字串"10"


      

 六. 強制類型轉換:

  

1. Number(value)-----把給定的值轉換為數字(整數或浮點數)

   當整個字串不能完全轉換為數字時,返回的是 NaN,這一點與部分轉換函式parseInt()和parseFloat()不一樣:

 

   var a = Number("123");  a被賦予的值為 123

   Number("123abc");       返回 NaN (abc沒有數字與其對應,故返回NaN,表示非數字)

   Number("2.2.7");        返回 NaN (2.2.7沒有這種數字,故返回NaN,表示非數字)

 

   Number(false);          返回0

   Number(true);           返回1

   Number(null);           返回0

   Number(undefined);      返回NaN

   Number(new Object());   返回NaN

 

 

2. Booleab(value)-----把給定的值轉換為布爾型

   若轉換的值為: 空串"" 或者 數字0 或者 undefined|null ---- 布爾函數將返回false;

   

   var a = Boolean("");    b被賦予的值為false

   Boolean(0);             返回false

   Boolean(null);          返回false

   Boolean(undefined);     返回false

 

   Boolean("hi");          返回true 

   Boolean(123);           返回true 

   Boolean(new Object());  返回true 

 

 

3. String(value)-----把給定的值轉換為字串(這個函數可以把任何值轉換為字串)

   var s1 = String(null);       返回字串"null"

   var s1 = String(undefined);  返回字串"undefined"

   

   String(value)與toString()函數的區別在於:

   若toString()函數轉換的值為null或者undefined,則會發生錯誤,而String()卻不會 

 

 

 

七. 日期對象:

建立日期對象: var now = new Date();
    此時的變數 now 為日期對象,值為當時的時間



日期的方法:
1. now.getFullYear();  擷取當前年份
2. now.getMonth()+1;   擷取當前月份
3. now.getDate();      擷取當前的日
4. now.getHours();     擷取當前的小時
5. now.getMinutes();   擷取當前的分鐘
6. now.getSeconds();   擷取當前的秒   

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.