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