摘要:之間的項(xiàng),但不包括結(jié)束位置。一個(gè)參數(shù),返回從該參數(shù)指定位置到當(dāng)前項(xiàng)末尾的所有項(xiàng)。傳入的函數(shù)每一項(xiàng)都返回,才返回查詢數(shù)組中的項(xiàng)是否滿足條件。
第五章引用類(lèi)型
5.1 Object類(lèi)型
創(chuàng)建Object實(shí)例的方式有兩種。
第一種是使用new操作符
var person=new Object(); person="eve"; person.age=29;
第二種是對(duì)象字面量 **推薦的寫(xiě)法
var person={ name:"eve", age:20 }
對(duì)象字面量的屬性名也可以是字符串
var person={ "name":"eve", "age":20 5:true //數(shù)值屬性會(huì)自動(dòng)轉(zhuǎn)換成字符串 } var person={}; person.name="eve"; person.age=20;//這種寫(xiě)法和上面的寫(xiě)法等價(jià)
一般來(lái)說(shuō),訪問(wèn)對(duì)象屬性使用的是點(diǎn)表示法。但也可以使用方括號(hào)來(lái)訪問(wèn)對(duì)象的屬性。
alert(person["name"]); alert(person.name);
5.2 Array類(lèi)型
創(chuàng)建數(shù)組的基本方式有兩種。
第一種使用Array構(gòu)造函數(shù)
var colors=new Array();
可以傳遞數(shù)量也可以傳遞具體數(shù)值
var colors=new Array(20);
var colors=new Array{red,blue,green};
也可以省略new 關(guān)鍵字
var colors=Array(20);
var colors= Array{red,blue,green};
第二種是使用數(shù)組字面量表示法.
var colors=[red,blue,green];//創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組
var names=[];//創(chuàng)建一個(gè)空數(shù)組
讀取項(xiàng)數(shù)用length
alert(colors.length);//3
length不是只讀的,可以設(shè)置這個(gè)屬性,從數(shù)組的末尾移除項(xiàng)和向數(shù)組中添加新項(xiàng)。
var colors=[red,blue,green];
colors[colors.length]="black";//在3上的位置添加
colors[colors.length]="brown";//在4上的位置添加
訪問(wèn)索引是length-1;
檢測(cè)數(shù)組
除了用instanceof
if( value instanceof Array){
//對(duì)數(shù)組執(zhí)行某些操作
}
一般用isArray
if(Array.isArray(value)){
//對(duì)數(shù)組執(zhí)行某些操作
}區(qū)別在于全局作用域
5.2.2 轉(zhuǎn)換方法
所有的對(duì)象都具有toLocaleString()、toString()、valueOf()方法
var colors=["red","blue","green"]; alert(colors.toString());//red,bule,green 返回由數(shù)組中值拼接的一個(gè)以逗號(hào)分隔的字符串 alert(colors.valueOf());//red,bule,green 返回的還是數(shù)組 //默認(rèn)分隔符是逗號(hào),可用join方法改變分隔符 var colors=["red","blue","green"]; alert(colors.join(","));//red,blue,green alert(colors.join("||")); //red||blue||green alert(colors.join()); //red,blue,green alert(colors.join(undefined)); //red,blue,green
不傳值或者傳入undefined,依舊返回逗號(hào)
5.2.3 棧方法
LIFO 后進(jìn)先出
push()從數(shù)組末尾插入并返回修改后數(shù)組的長(zhǎng)度
pop()從刪除數(shù)組末尾移除最后一項(xiàng),減少數(shù)組的length長(zhǎng)度,并返回移除的項(xiàng)
var colors=new Array(); //創(chuàng)建一個(gè)數(shù)組 var count=colors.push("red","green"); //推入兩項(xiàng) alert(count); //2 count=colors.push("black"); alert(count); //3 var item=colors.pop(); //取得最后一項(xiàng) alert(item); //black alert(colors.length); //2
5.2.4 隊(duì)列方法
FIFO 先進(jìn)先出
shift() 移除數(shù)組第一項(xiàng)并返回該項(xiàng),同時(shí)長(zhǎng)度減去1
unshift() 在數(shù)組第一項(xiàng)添加并返回新數(shù)組的長(zhǎng)度
var colors=new Array(); //創(chuàng)建一個(gè)數(shù)組 var count=colors.push("red","green"); //推入兩項(xiàng) alert(count); //2 count=colors.push("black"); alert(count); //3 var item=colors.shift();//取得第一項(xiàng) alert(item); //red alert(colors.length); //2 var colors=new Array(); //創(chuàng)建一個(gè)數(shù)組 var count=colors.unshift("red","green"); //推入兩項(xiàng) alert(count); //2 count=colors.unshift("black"); //推入另一項(xiàng) alert(count); //3 var item=colors.pop();//取得一最后項(xiàng) alert(item); //green alert(colors.length); //2 ie7集更早的版本其unshift方法總是返回undefined而不是數(shù)組的長(zhǎng)度 ie8 在非兼容模式下回返回正確的長(zhǎng)度值
5.2.5 重排序方法
reverse() 反轉(zhuǎn)數(shù)組的順序
sort() 按升序排列數(shù)組 比較的是字符串
function compare (value1,vlaue2) { return vlaue2-value1; } var value=[0,10,1,2,5,15]; value.sort(compare); alert(value); //從大到小的排列 15,10,5,2,1,0
5.2.6 操作方法
concat()連接,把值添加到數(shù)組的末尾
slice() 基于當(dāng)前數(shù)組中的一個(gè)或多個(gè)項(xiàng)創(chuàng)建一個(gè)數(shù)組。兩個(gè)參數(shù),返回參數(shù)項(xiàng)的起始和結(jié)束位置。之間的項(xiàng),但不包括結(jié)束位置。一個(gè)參數(shù),返回從該參數(shù)指定位置到當(dāng)前項(xiàng)末尾的所有項(xiàng)。不會(huì)影響原始數(shù)組
splice() 可以刪除、插入、替換,算是最強(qiáng)大的數(shù)組方法了。有很多用途,主要用途是向數(shù)組中部插入項(xiàng)
var colors=["red","green","blue","yelllow","browns"]; var removed=colors.splice(0,3);//刪除操作 要兩個(gè)參數(shù),要?jiǎng)h除的第一項(xiàng)的位置和要?jiǎng)h除的項(xiàng)數(shù) alert(colors); //yelllow,browns alert(removed); //red,green,blue 返回被刪除的項(xiàng) removed=colors.splice(1,0,"orange"); //插入操作 ,從位置1,插入一項(xiàng) alert(colors); //yelllow,orange,browns alert(removed);//返回的是一個(gè)空數(shù)組 removed=colors.splice(2,1,"red","purple"); //替換操作 刪除當(dāng)前位置2的項(xiàng),然后從位置2開(kāi)始插圖red,purple alert(colors);//yelllow,orange,red,purple alert(browns); //orange 返回的數(shù)組只包括一項(xiàng)
5.2.7 位置方法
indexof() 從數(shù)組的開(kāi)頭位置0開(kāi)始向后查找
lastIndexOf() 從數(shù)組的開(kāi)頭向前查找
兩個(gè)方法都返回要查找項(xiàng)在數(shù)組中的位置,沒(méi)有找到返回-1.都接受兩個(gè)參數(shù),要查找的項(xiàng)和表示查找起點(diǎn)位置的索引(可選)。
查找特定項(xiàng)在數(shù)組中的位置
5.2.8 迭代方法
every()查詢數(shù)組中的項(xiàng)是否滿足條件。傳入的函數(shù)每一項(xiàng)都返回ture,才返回true
filter()
forEach()
map()
some()查詢數(shù)組中的項(xiàng)是否滿足條件。只要傳入的函數(shù)有一項(xiàng)返回ture,就返回true
都不會(huì)修改數(shù)組中包含的值
5.2.9 歸并并法
reduce()
reduceRight()
5.3 Date類(lèi)型
創(chuàng)建日期對(duì)象
var now=new Date();
在不傳遞參數(shù)的情況下返回的是當(dāng)前日期和時(shí)間。
如果想得到特定的日期和時(shí)間創(chuàng)建日期對(duì)象,則需要傳入?yún)?shù)
ECMAscripte提供了兩個(gè)方法:Date.parse()和Date.UTC();
Date.parse()接收一個(gè)表示日期的字符串參數(shù),返回相應(yīng)日期的毫秒數(shù)。
var someDate=new Date(Date.parse("May 25,2004")); 可簡(jiǎn)化為 var someDate=new Date("May 25,2004");
Date.UTC()同樣返回日期的毫秒數(shù)。參數(shù)分別表示年份,基于0的月份,天,小時(shí),秒,毫秒。只有前兩個(gè)是必須的。
如:
var y2k=new Date(2000,0);//本地時(shí)間2000年1月1日 var allFives=new Date(2005,4,5,17,55,55);//本地時(shí)間2005年4月5日下午5:55:55
ECMAscript5添加了Date.now()方法。返回調(diào)用這個(gè)方法時(shí)的日期和時(shí)間的毫秒數(shù)。
var start=Date.now();//取得開(kāi)始時(shí)間 doSomething//調(diào)用函數(shù) var stop=Date.now();//取得停止時(shí)間 var result=stop-start;
直接方法的瀏覽器包括iE9,firefox3+,safari3+.opera10.5,chorme;
在不支持的瀏覽器中科院使用+操作符獲取Date對(duì)象的時(shí)間戳 。
var start=new Date();//取得開(kāi)始時(shí)間 doSomething//調(diào)用函數(shù) var stop=+new Date();//取得停止時(shí)間 var result=stop-start;
5.3.1繼承的方法
便于比較日期時(shí)間值
var date1=new Date(2007,0,1); var date2=new Date(2007,0,1); alert(date1date1);//false
5.3.2日期格式化的方法
5.3.3日期/時(shí)間組件方法
5.4 RegExp類(lèi)型
5.4.1 RegExp實(shí)例屬性
5.4.2 RegExp實(shí)例方法
5.4.3 RegExp構(gòu)造函數(shù)屬性
5.4.4 模式的局限性
5.5 Function類(lèi)型
5.5.2 函數(shù)聲明與函數(shù)表達(dá)式
5.5.3 作為值得函數(shù)
5.5.4 函數(shù)內(nèi)部屬性
5.5.5 函數(shù)屬性和方法
5.6 基本包裝類(lèi)型
5.6.1 Boolean類(lèi)型
5.6.2 Number類(lèi)型
5.6.3 String
5.7 單體內(nèi)置對(duì)象
5.7.1 Global對(duì)象
5.7.2 Math對(duì)象
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78442.html
摘要:以上是使用轉(zhuǎn)換函數(shù)方法時(shí)會(huì)返回的值在用判斷的時(shí)候,首先執(zhí)行了,然后判斷為真或假。對(duì)象的遍歷返回一個(gè)數(shù)組,包括對(duì)象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語(yǔ)法 1.if(a)的自動(dòng)轉(zhuǎn)換 數(shù)據(jù)類(lèi)型??? 轉(zhuǎn)換為true的值??? ?? 轉(zhuǎn)換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...
摘要:以上是使用轉(zhuǎn)換函數(shù)方法時(shí)會(huì)返回的值在用判斷的時(shí)候,首先執(zhí)行了,然后判斷為真或假。對(duì)象的遍歷返回一個(gè)數(shù)組,包括對(duì)象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語(yǔ)法 1.if(a)的自動(dòng)轉(zhuǎn)換 數(shù)據(jù)類(lèi)型??? 轉(zhuǎn)換為true的值??? ?? 轉(zhuǎn)換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...
摘要:以上是使用轉(zhuǎn)換函數(shù)方法時(shí)會(huì)返回的值在用判斷的時(shí)候,首先執(zhí)行了,然后判斷為真或假。對(duì)象的遍歷返回一個(gè)數(shù)組,包括對(duì)象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語(yǔ)法 1.if(a)的自動(dòng)轉(zhuǎn)換 數(shù)據(jù)類(lèi)型??? 轉(zhuǎn)換為true的值??? ?? 轉(zhuǎn)換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...
摘要:在這種情況下,函數(shù)在停止執(zhí)行后將返回值。這種用法一般用在需要提前停止函數(shù)執(zhí)行而又不需要返回值的情況下嚴(yán)格模式對(duì)函數(shù)有一些限制不能把函數(shù)命名為或不能把參數(shù)命名為或不能出現(xiàn)兩個(gè)命名參數(shù)同名的情況。 把近期看高程這本書(shū)做的筆記摘錄整理出來(lái)了,總歸對(duì)原生javascript理論有了一個(gè)比較全面的的認(rèn)識(shí),這次把書(shū)中的一些知識(shí)要點(diǎn)摘錄出來(lái)了,便于以后查閱的時(shí)候有方向,也更有效率!! 第一章、jav...
摘要:操作符,會(huì)將數(shù)值改變正數(shù)變成負(fù)數(shù)負(fù)數(shù)變成正數(shù)。同時(shí),也說(shuō)明了,使用兩個(gè)邏輯非操作符和的操作結(jié)果相同。操作符得到的是余數(shù)。不相等操作符有兩種。 這篇筆記的內(nèi)容對(duì)應(yīng)的是《JavaScript高級(jí)程序設(shè)計(jì)(第三版)》中的第三章。 1.操作符 1-1 一元操作符 遞增和遞減操作符 遞增和遞減操作符有兩個(gè) ++ 和 --。一元操作符使用的時(shí)候,可以前置也可以后置。由于兩個(gè)操作方式類(lèi)似,先只說(shuō)明 ...
閱讀 1478·2021-10-14 09:43
閱讀 1442·2021-10-09 09:58
閱讀 1937·2021-09-28 09:42
閱讀 3728·2021-09-26 09:55
閱讀 1752·2021-08-27 16:23
閱讀 2755·2021-08-23 09:46
閱讀 906·2019-08-30 15:55
閱讀 1405·2019-08-30 15:54