JavaScript 學習筆記4

第五章 引用類型前端

也稱爲對象定義,描述的是一類對象所具備的屬性和方法正則表達式

1.Object:基礎類型,其餘全部類型都從Object繼承了基本的行爲數組

建立實例方式 a.var person=new Object();b.對象字面量var person={函數

name:「nicomeds」,測試

age:29spa

};指針

2.Array:是一組值的有序列表,同時還提供了操做和轉換這些值的功能對象

建立方法:a.var colors=new Array();b.var colors=["red","yellow","blue"];排序

檢測數組:a.if(value instanceof array){};b.if(Array.isArray(value)){}繼承

棧方法(LIFO):push——返回修改後的數組長度;pop()——返回最後一項;

隊列方法(FIFO):shift()——移除第一項並返回該項;push();

                                     unshift()——在數組前端添加任意個項並返回數組長度;pop();

重排序方法:reverse()——反序;sort()——升序;

操做方法:array1.concat(「yellow」,[「ll」]);//鏈接

                    colors.slice(1,4);//返回給定數組的指定項

                   splice():splice(0,2)——刪除,傳入刪除位置和項數;splice(2,0,「lll」)——插入,傳入位置,刪除項數,插入項; splice(2,1,"red")——替換 

位置方法:indexOf()和lastindexOf()

3.Date提供有關時間和日期的信息,包括當前日期和時間以及相關計算

var Today =new Date();

Date.parse()/接受一個表示日期的字符串參數,返回相應日期的毫秒數

4.正則表達式

1.) 正則表達式規則

1.1 普通字符

    字母、數字、漢字、下劃線、以及後邊章節中沒有特殊定義的標點符號,都是"普通字符"。

1.2 簡單的轉義字符

  一些不便書寫的字符,採用在前面加 "/" 的方法。eg://表明 "/" 自己,

/^

匹配 ^ 符號自己

/$

匹配 $ 符號自己

/.

匹配小數點(.)自己

 

1.3 可以與 '多種字符' 匹配的表達式

/d

任意一個數字,0~9 中的任意一個

/w

任意一個字母或數字或下劃線,也就是 A~Z,a~z,0~9,_ 中任意一個

/s

包括空格、製表符、換頁符等空白字符的其中任意一個

.

小數點能夠匹配除了換行符(/n)之外的任意一個字符

 

1.4 自定義可以匹配 '多種字符' 的表達式

    使用方括號 [ ] 包含一系列字符,可以匹配其中任意一個字符。用 [^ ] 包含一系列字符,則可以匹配其中字符以外的任意一個字符。

1.5 修飾匹配次數的特殊符號

{m,n}

表達式至少重複m次,最多重複n次,好比:"ba{1,3}"能夠匹配 "ba"或"baa"或"baaa"

{m,}

表達式至少重複m次,好比:"/w/d{2,}"能夠匹配 "a12","_456","M12344"...

?

匹配表達式0次或者1次,至關於 {0,1},好比:"a[cd]?"能夠匹配 "a","ac","ad"

+

表達式至少出現1次,至關於 {1,},好比:"a+b"能夠匹配 "ab","aab","aaab"...

*

表達式不出現或出現任意次,至關於 {0,},好比:"/^*b"能夠匹配 "b","^^^b"...

 

1.6 其餘一些表明抽象意義的特殊符號

^

與字符串開始的地方匹配,不匹配任何字符

$

與字符串結束的地方匹配,不匹配任何字符

/b

匹配一個單詞邊界,也就是單詞和空格之間的位置,不匹配任何字符

 

一些符號能夠影響表達式內部的子表達式之間的關係:

|

左右兩邊表達式之間 "或" 關係,匹配左邊或者右邊

( )

(1). 在被修飾匹配次數的時候,括號中的表達式能夠做爲總體被修飾
(2). 取匹配結果的時候,括號中的表達式匹配到的內容能夠被單獨獲得

 

2.定義正則表達式

2.1)普通方式:var reg=/表達式/附加參數
表達式:一個字符串,表明了某種規則,其中可使用某些特殊字符,來表明特殊的規則,後面會詳細說明。
附加參數:用來擴展表達式的含義,目前主要有三個參數:
g:表明能夠進行全局匹配。
i:表明不區分大小寫匹配。
m:表明能夠進行多行匹配。

2.2)構造函數方式:var reg=new RegExp(「表達式」,」附加參數」);

普通方式中的表達式必須是一個常量字符串,而構造函數中的表達式能夠是常量字符串,也能夠是一個js變量

3,表達式操做

3.1>exec(str),返回str中與表達式相匹配的第一個字符串,並且以數組的形式表現

3.2>test(str),判斷字符串str是否匹配表達式,返回一個布爾值

eg:測試郵箱

function checkMail(mail)

{

var filter=/^([a-zA-Z0-9_\.\-])+\@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9]{2,4})+$/;

if(filter.test(mail))

return true;

else

return false;

}

5.函數:Function類型的實例,函數也是對象

沒有重載

函數聲明:function sum(num1,num2){//函數提高,率先讀取函數聲明

return num1+num2;}

函數表達式:var sum=function(num1,num2){

return num1+num2;

};

注:使用不帶圓括號的函數名是訪問函數指針,而非調用函數

(具體的見筆記2)

6.基本包裝類型:基本類型值能夠被當作對象來訪問

三種基本包裝類型分別是:boolean,number,string

特徵:

a.每一個包裝類型都映射到同名的基本類型

b.在讀取模式下訪問基本類型值時,就會建立對應的基本包裝類型的對象,方便數據操做

c.操做基本類型值的語句一經執行完畢,就會當即銷燬新建立的包裝對象

7.單體內置對象

Global對象:eval()方法:只接受一個參數——既要執行的ECMAscript字符串,

                                                   經過eval()執行的代碼被認爲是包含該次調用的執行環境的一部分,

                                                  eval()中建立的任何變量和函數都不會提高

Window對象

Math對象

相關文章
相關標籤/搜索