JavaScript 筆記二 Array和Date對象方法
JavaScript的對象基礎(chǔ)
本篇主要講解本地對象Array和Date的各種方法。
一種面向?qū)ο笳Z言需要向開發(fā)者提供四種基本能力:
(1) 封裝——把相關(guān)的信息(無論數(shù)據(jù)或方法)存儲在對象中的能力。
(2) 聚集——把一個對象存儲在另一個對象內(nèi)的能力。
(3) 繼承——由另一個類(或多個類)得來類的屬性和方法的能力。
(4) 多態(tài)——編寫能以多種方法運(yùn)行的函數(shù)或方法的能力。
1.本地對象包括:
①Array類
②Date類
2.內(nèi)置對象
3.宿主對象
Array類
toString()方法和valueOf()方法,返回特殊的字符串。該字符串是通過對每項(xiàng)調(diào)用toString()方法,然后用逗號把它們連接在一起構(gòu)成的。例如,對具有項(xiàng)"red"、"green"和"blue"的數(shù)組調(diào)用toString()方法或valueOf()方法,返回的是字符串"red,green,blue"。
join()方法唯一的用途就是連接字符串值。join()方法只有一個參數(shù),即數(shù)組項(xiàng)之間使用的字符串。
split()方法將字符串轉(zhuǎn)換成數(shù)組,split()方法只有一個參數(shù),就是被看作數(shù)組項(xiàng)之間的分隔符的字符串。如果把空字符串聲明為分隔符,那么split()方法返回的數(shù)組中的每個項(xiàng)是字符串的字符。
concat()方法處理數(shù)組的方式幾乎與它處理字符串的方式完全一樣。參數(shù)將被附加在數(shù)組末尾,返回的函數(shù)值是新的Array對象(包括原始數(shù)組中的項(xiàng)和新的項(xiàng))。
slice()方法接受一個或兩個參數(shù),即要提取的項(xiàng)的起始位置和結(jié)束位置。如果只有一個參數(shù),該方法將返回從該位置開始到數(shù)組結(jié)尾的所有項(xiàng);如果有兩個參數(shù),該方法將返回第一個位置和第二個位置間的所有項(xiàng),不包括第二個位置處的項(xiàng)。
unshift()方法,它把一個項(xiàng)放在數(shù)組的第一個位置,然后把余下的項(xiàng)向下移動一個位置。
reverse()方法顛倒數(shù)組項(xiàng)的順序。
sort()方法將根據(jù)數(shù)組項(xiàng)的值按升序?yàn)樗鼈兣判?。(注意:只是對字符串代碼的排序,數(shù)字?jǐn)?shù)組的排序需要另解)
splice()方法最復(fù)雜的方法,把數(shù)據(jù)項(xiàng)插入數(shù)組的中部。
1.刪除——只需要聲明兩個參數(shù),就可以從數(shù)組中刪除任意多個項(xiàng),這兩個參數(shù)是要刪除的第一個項(xiàng)的位置和要刪除的項(xiàng)的個數(shù)。例如arr.splice(0,2)將刪除數(shù)組arr中的前兩項(xiàng)。
2.替換而不刪除——聲明三個參數(shù)就可以把數(shù)據(jù)項(xiàng)插入指定的位置,這三個參數(shù)是起始位置、0(要刪除的數(shù)組項(xiàng)的個數(shù))和要插入的項(xiàng)。此外,還可以用第四個、第五個或更多個參數(shù)指定其他要插入的項(xiàng)。例如,arr.splice(2,0,"red", "green")將在位置2處插入"red"和"green"。
3.替換并刪除——聲明三個參數(shù)就可以把數(shù)據(jù)項(xiàng)插入指定的位置,這三個參數(shù)是起始位置、要刪除的數(shù)組項(xiàng)的個數(shù)以及要插入的項(xiàng)。此外,還可以指定要插入的更多的項(xiàng)。要插入的項(xiàng)的個數(shù)不必等于刪除的項(xiàng)的個數(shù)。例如,arr.splice(2,1, "red","green")將刪除數(shù)組arr中位置2處的項(xiàng),然后在位置2處插入"red"和"green"。
棧和隊(duì)列的概念
區(qū)別一
棧:后進(jìn)先出(LIFO)結(jié)構(gòu),先添加的項(xiàng)先刪除,棧中的插入和刪除都只發(fā)生在棧頂部。
隊(duì)列:先進(jìn)先出(FIFO)結(jié)構(gòu),先添加的項(xiàng)最后刪除,元素的插入操作只發(fā)生在隊(duì)列的尾部,而刪除操作則發(fā)生在隊(duì)列的頭部。
區(qū)別二
棧:頂部添加項(xiàng)叫“推入?!?,刪除頂部項(xiàng)叫“彈出?!?。
隊(duì)列:隊(duì)尾添加項(xiàng)叫“put”或“入隊(duì)”,隊(duì)頭刪除項(xiàng)叫“get”或“出隊(duì)”。
在Array類中的運(yùn)用
棧:push()方法用于在Array結(jié)尾添加一個或多個項(xiàng),pop()方法用于刪除最后一個數(shù)組項(xiàng)(length-1),返回它作為函數(shù)值。
隊(duì)列:push()方法把數(shù)據(jù)項(xiàng)加入隊(duì)列(即在數(shù)組結(jié)尾添加數(shù)據(jù)項(xiàng)),shift()方法將刪除數(shù)組中的第一個項(xiàng),將其作為函數(shù)值返回。
Date類
Date類的方法(列在下表中)均用于設(shè)置或獲取日期值的某部分。
方 法 |
說 明 |
toLocaleDateString() |
以地點(diǎn)特定的格式顯示Date的時間部分 |
getTime() |
返回日期的毫秒表示 |
setTime(milliseconds) |
設(shè)置日期的毫秒表示 |
getFullYear() |
返回用四位數(shù)字表示的日期的年份(如2004而不只是04) |
getUTCFullYear() |
返回用四位數(shù)字表示的UTC日期的年份 |
setFullYear(year) |
設(shè)置日期的年份,參數(shù)必須是四位數(shù)字的年份值 |
setUTCFullYear(year) |
設(shè)置UTC日期的年份,參數(shù)必須是四位數(shù)字的年份值 |
getMonth() |
返回日期的月份值,由數(shù)字0(1月)到11(12月)表示 |
getUTCMonth() |
返回UTC日期的月份值,由數(shù)字0(1月)到11(12月)表示 |
setMonth(month) |
設(shè)置日期的月份為大于等于0的數(shù)字。對于大于11的數(shù)字,開始累計(jì)年數(shù) |
setUTCMonth(month) |
設(shè)置UTC日期的月份為大于等于0的數(shù)字。對于大于11的數(shù)字,開始累計(jì)年數(shù) |
getDate() |
返回該日期該月中的某天 |
getUTCDate() |
返回該UTC日期該月中的某天 |
setDate(date) |
設(shè)置該日期該月中的某天 |
setUTCDate(date) |
設(shè)置該UTC日期該月中的某天 |
getDay() |
返回該日期為星期幾 |
getUTCDay() |
返回該UTC日期為星期幾 |
setDay(day) |
設(shè)置該日期為星期幾 |
setUTCDay(day) |
設(shè)置該UTC日期為星期幾 |
getHours() |
返回日期中的小時值 |
getUTCHours() |
返回UTC日期中的小時值 |
setHours(hours) |
設(shè)置日期中的小時值 |
setUTCHours(hours) |
設(shè)置UTC日期中的小時值 |
getMinutes() |
返回日期中的分鐘值 |
getUTCMinutes() |
返回UTC日期中的分鐘值 |
setMinutes(minutes) |
設(shè)置日期中的分鐘值 |
setUTCMinutes(minutes) |
設(shè)置UTC日期中的分鐘值 |
getSeconds() |
返回日期中的秒值 |
getUTCSeconds () |
返回UTC日期中的秒值 |
setSeconds (seconds) |
設(shè)置日期中的秒值 |
setUTCSeconds (seconds) |
設(shè)置UTC日期中的秒值 |
getMilliseconds() |
返回日期中的毫秒值。注意,這不是自1970年1月1日以后的毫秒值,而是當(dāng)前時間中的毫秒值,例如4 :55 :34.20,其中20即為時間的毫秒值 |
getUTCMilliseconds () |
返回UTC日期中的毫秒值 |
setMilliseconds (milliseconds) |
設(shè)置日期中的毫秒值 |
setUTCMilliseconds (milliseconds) |
設(shè)置UTC日期中的毫秒值 |
- JavaScript Date對象使用總結(jié)
- JavaScript Date對象 日期獲取函數(shù)
- JS date對象的減法處理實(shí)現(xiàn)代碼
- javascript 時間顯示代碼集合(Date對象)
- js用Date對象處理時間實(shí)現(xiàn)思路及代碼
- javascript-簡單的日歷實(shí)現(xiàn)及Date對象語法介紹(附圖)
- 擴(kuò)展JS Date對象時間格式化功能的小例子
- JS之Date對象和獲取系統(tǒng)當(dāng)前時間詳解
- js用Date對象的setDate()函數(shù)對日期進(jìn)行加減操作
- JavaScript Date對象詳解
相關(guān)文章
詳解JavaScript?(!!)?中的雙感嘆號是干什么用的
JavaScript?不是靜態(tài)語言,而是動態(tài)語言,這意味著變量可以引用或保存任何類型的值,此外,該類型可以隨時更改,這篇文章主要介紹了JavaScript?(!!)?中的雙感嘆號作用,需要的朋友可以參考下2022-09-09js編寫trim()函數(shù)及正則表達(dá)式的運(yùn)用
js中本身是沒有trim函數(shù)的,不過你可以自己寫一個,下面的實(shí)現(xiàn)方法是用到了正則表達(dá)式,效率不錯,并把這三個方法加入String對象的內(nèi)置方法中去2013-10-10JS實(shí)現(xiàn)利用兩個隊(duì)列表示一個棧的方法
這篇文章主要介紹了JS實(shí)現(xiàn)利用兩個隊(duì)列表示一個棧的方法,簡單分析了使用兩個隊(duì)列表示一個棧的原理,并結(jié)合具體實(shí)例分析了javascript相關(guān)操作技巧,需要的朋友可以參考下2017-12-12利用javascript實(shí)現(xiàn)全部刪或清空所選的操作
這篇文章主要介紹了利用javascript實(shí)現(xiàn)全部刪或清空所選的操作,需要的朋友可以參考下2014-05-05