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