js 學(xué)習(xí)筆記(三)
(1) 封裝——把相關(guān)的信息(無(wú)論數(shù)據(jù)或方法)存儲(chǔ)在對(duì)象中的能力。
(2) 聚集——把一個(gè)對(duì)象存儲(chǔ)在另一個(gè)對(duì)象內(nèi)的能力。
(3) 繼承——由另一個(gè)類(lèi)(或多個(gè)類(lèi))得來(lái)類(lèi)的屬性和方法的能力。
(4) 多態(tài)——編寫(xiě)能以多種方法運(yùn)行的函數(shù)或方法的能力。
對(duì)象的類(lèi)型
1.本地對(duì)象
①Array類(lèi)
②Date類(lèi)
2.內(nèi)置對(duì)象
3.宿主對(duì)象
Array類(lèi)
toString()方法和valueOf()方法,返回特殊的字符串。該字符串是通過(guò)對(duì)每項(xiàng)調(diào)用toString()方法,然后用逗號(hào)把它們連接在一起構(gòu)成的。例如,對(duì)具有項(xiàng)"red"、"green"和"blue"的數(shù)組調(diào)用toString()方法或valueOf()方法,返回的是字符串"red,green,blue"。
join()方法唯一的用途就是連接字符串值。join()方法只有一個(gè)參數(shù),即數(shù)組項(xiàng)之間使用的字符串。
split()方法將字符串轉(zhuǎn)換成數(shù)組,split()方法只有一個(gè)參數(shù),就是被看作數(shù)組項(xiàng)之間的分隔符的字符串。如果把空字符串聲明為分隔符,那么split()方法返回的數(shù)組中的每個(gè)項(xiàng)是字符串的字符。
concat()方法處理數(shù)組的方式幾乎與它處理字符串的方式完全一樣。參數(shù)將被附加在數(shù)組末尾,返回的函數(shù)值是新的Array對(duì)象(包括原始數(shù)組中的項(xiàng)和新的項(xiàng))。
slice()方法接受一個(gè)或兩個(gè)參數(shù),即要提取的項(xiàng)的起始位置和結(jié)束位置。如果只有一個(gè)參數(shù),該方法將返回從該位置開(kāi)始到數(shù)組結(jié)尾的所有項(xiàng);如果有兩個(gè)參數(shù),該方法將返回第一個(gè)位置和第二個(gè)位置間的所有項(xiàng),不包括第二個(gè)位置處的項(xiàng)。
unshift()方法,它把一個(gè)項(xiàng)放在數(shù)組的第一個(gè)位置,然后把余下的項(xiàng)向下移動(dòng)一個(gè)位置。
reverse()方法顛倒數(shù)組項(xiàng)的順序。
sort()方法將根據(jù)數(shù)組項(xiàng)的值按升序?yàn)樗鼈兣判?。(注意:只是?duì)字符串代碼的排序,數(shù)字?jǐn)?shù)組的排序需要另解)
splice()方法最復(fù)雜的方法,把數(shù)據(jù)項(xiàng)插入數(shù)組的中部。
1.刪除——只需要聲明兩個(gè)參數(shù),就可以從數(shù)組中刪除任意多個(gè)項(xiàng),這兩個(gè)參數(shù)是要?jiǎng)h除的第一個(gè)項(xiàng)的位置和要?jiǎng)h除的項(xiàng)的個(gè)數(shù)。例如arr.splice(0,2)將刪除數(shù)組arr中的前兩項(xiàng)。
2.替換而不刪除——聲明三個(gè)參數(shù)就可以把數(shù)據(jù)項(xiàng)插入指定的位置,這三個(gè)參數(shù)是起始位置、0(要?jiǎng)h除的數(shù)組項(xiàng)的個(gè)數(shù))和要插入的項(xiàng)。此外,還可以用第四個(gè)、第五個(gè)或更多個(gè)參數(shù)指定其他要插入的項(xiàng)。例如,arr.splice(2,0,"red", "green")將在位置2處插入"red"和"green"。
3.替換并刪除——聲明三個(gè)參數(shù)就可以把數(shù)據(jù)項(xiàng)插入指定的位置,這三個(gè)參數(shù)是起始位置、要?jiǎng)h除的數(shù)組項(xiàng)的個(gè)數(shù)以及要插入的項(xiàng)。此外,還可以指定要插入的更多的項(xiàng)。要插入的項(xiàng)的個(gè)數(shù)不必等于刪除的項(xiàng)的個(gè)數(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類(lèi)中的運(yùn)用
棧:push()方法用于在Array結(jié)尾添加一個(gè)或多個(gè)項(xiàng),pop()方法用于刪除最后一個(gè)數(shù)組項(xiàng)(length-1),返回它作為函數(shù)值。
隊(duì)列:push()方法把數(shù)據(jù)項(xiàng)加入隊(duì)列(即在數(shù)組結(jié)尾添加數(shù)據(jù)項(xiàng)),shift()方法將刪除數(shù)組中的第一個(gè)項(xiàng),將其作為函數(shù)值返回。
Date類(lèi)
Date類(lèi)的方法(列在下表中)均用于設(shè)置或獲取日期值的某部分。
|
方 法 |
說(shuō) 明 |
|
toLocaleDateString() |
以地點(diǎn)特定的格式顯示Date的時(shí)間部分 |
|
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ù)字。對(duì)于大于11的數(shù)字,開(kāi)始累計(jì)年數(shù) |
|
setUTCMonth(month) |
設(shè)置UTC日期的月份為大于等于0的數(shù)字。對(duì)于大于11的數(shù)字,開(kāi)始累計(jì)年數(shù) |
|
getDate() |
返回該日期該月中的某天 |
|
getUTCDate() |
返回該UTC日期該月中的某天 |
|
setDate(date) |
設(shè)置該日期該月中的某天 |
|
setUTCDate(date) |
設(shè)置該UTC日期該月中的某天 |
|
getDay() |
返回該日期為星期幾 |
|
getUTCDay() |
返回該UTC日期為星期幾 |
|
setDay(day) |
設(shè)置該日期為星期幾 |
|
setUTCDay(day) |
設(shè)置該UTC日期為星期幾 |
|
getHours() |
返回日期中的小時(shí)值 |
|
getUTCHours() |
返回UTC日期中的小時(shí)值 |
|
setHours(hours) |
設(shè)置日期中的小時(shí)值 |
|
setUTCHours(hours) |
設(shè)置UTC日期中的小時(shí)值 |
|
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)前時(shí)間中的毫秒值,例如4 :55 :34.20,其中20即為時(shí)間的毫秒值 |
|
getUTCMilliseconds () |
返回UTC日期中的毫秒值 |
|
setMilliseconds (milliseconds) |
設(shè)置日期中的毫秒值 |
|
setUTCMilliseconds (milliseconds) |
設(shè)置UTC日期中的毫秒值 |
相關(guān)文章
GWT中復(fù)制到剪貼板 js+flash實(shí)現(xiàn)復(fù)制 兼容性比較好
今天看到有個(gè)Google Code的項(xiàng)目,叫ZeroClipboard,大意是使用flash作為媒介,將內(nèi)容復(fù)制到剪貼板。這比用純javascript好,因?yàn)椴煌瑸g覽器會(huì)出于安全的原因,有不同反應(yīng),例如IE會(huì)給出提示,有的瀏覽器不支持復(fù)制到剪貼板。2010-03-03
Javascript寫(xiě)入txt和讀取txt文件示例
這篇文章主要介紹了Javascript寫(xiě)入txt和讀取txt文件的方法,需要的朋友可以參考下2014-02-02
JS實(shí)現(xiàn)部分HTML固定頁(yè)面頂部隨屏滾動(dòng)效果
這篇文章主要介紹了JS實(shí)現(xiàn)部分HTML固定頁(yè)面頂部隨屏滾動(dòng)效果,涉及JavaScript響應(yīng)onscroll事件動(dòng)態(tài)操作頁(yè)面元素屬性的相關(guān)技巧,需要的朋友可以參考下2015-12-12
認(rèn)識(shí)延遲時(shí)間為0的setTimeout
由 John Resig 的 How JavaScript Timers Work 可以知道,現(xiàn)有的 JavaScript 引擎是單線程處理任務(wù)的。它把任務(wù)放到隊(duì)列中,不會(huì)同步去執(zhí)行,必須在完成一個(gè)任務(wù)后才開(kāi)始另外一個(gè)任務(wù)。2008-05-05
JavaScript中附件預(yù)覽功能實(shí)現(xiàn)詳解(推薦)
這篇文章主要介紹了JavaScript中附件預(yù)覽功能的實(shí)現(xiàn),具體操作步驟大家可查看下文詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08
vue 組件銷(xiāo)毀并重置的實(shí)現(xiàn)
這篇文章主要介紹了vue 組件銷(xiāo)毀并重置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01

