JavaScript 高級程序設計——引用類型(Object、Array、String、Date)(複習)

 

https://blog.wenzhixin.net.cn/2012/04/05/javascript-advanced-programming-reference-types-object-array-string-date/

一、Object 類型

1、創建 Object 實例的方法:

使用 new 操作符接構造函數方法

var obj = new Object();
obj.name1 = value1;
obj.name2 = value2;

使用對象字面量表示法

var obj = {
	name1: value1,
	name2: value2,
	...
}

2、訪問 Object 屬性使用的方法:

(兩種方法,略有區別)

點表示法(優先使用)obj.name

方括號表示法(變量作爲屬性)obj[“name”]

3、常用方法:

(1)obj.hasOwnProperty(name)

--------判斷 obj 對象是否存在 某一屬性。

例子:

var obj = {name: "bella"};
alert(obj.hasOwnProperty("name"));//true
alert(obj.hasOwnProperty("age"));//false

(2)Object.getOwnPropertyNames(obj)

--------獲取 obj 對象中所有的屬性名稱,常用於對對象屬性進行遍歷,返回屬性數組。

例子:

var obj = {name: "bella", age: 25};
var names = Object.getOwnPropertyNames(obj);
alert(names);//"name,age"

二、Array 類型

1、創建方法:

new Array 方法

var arr = new Array();
var arr = new Array(length);
var arr = new Array(value1, value2, ...);

使用數組字面量方法

var arr = [value1, value2, ...];

2、使用數組的方法:

用方括號並提供響應值的機遇 0 的數字索引。

3、數組的常用屬性:length

 * length-表示數組的長度,可以寫入,表示設置數組的長度爲指定大小。

4、方法:

(1)轉換方法:toLocalString()、toString()、valueOf()和 join()。

 * toLocalString()、toString()、valueOf()都會將數組中的每個值拼接成一個字符串,中間以逗號分割。

 * join()接收一個參數,用作分隔符,返回包含所以數組項的字符串。

 * 例子:

var colors = {"red", "blue", "yellow"};

alert(colors.toLocalString());//"red,blue,yellow"

alert(colors.toString());//"red,blue,yellow"

alert(colors.valueOf());//"red,blue,yellow"

alert(colors);//"red,blue,yellow"

alert(colors.join("|"));//"red|blue|yellow"

(2)棧(LIFO-後進先出)方法:push()和 pop()。

   push()可以接收任意數量的參數,逐個添加到數組末尾,返回修改後數組的長度。

   pop()表示從數組末尾移除最後一項,返回移除的項。

(3)隊列(FIFO-先進先出)方法:push()和 shift();unshift()和 pop()。

   shift()表示移除並返回數組的第一個項。

   unshift()表示在數組前端添加任意個項並返回修改後數組的長度。

(4)重排序方法:reverse()和 sort()。

   reverse()用於反轉數組項的順序。

   sort()用於對數組項進行字符串排序,默認按升序排列。對數值類型進行排序,需要傳遞比較函數,比較函數接收兩個參數,返回負數表示第一個參數應該位於第二個之前,返回 0 表示兩個參數相等,返回正數表示第一個參數應該位於第二個之後。

 * 例子:

function compareAsc(value1, value2) {
	return value1 - value2;
}

function compareDesc(value1, value2) {
	return value2 - value1;
}

var values = {5, 0, 15, 10};

values.reverse();
alert(values);//10, 15, 0, 5

values = values.soft(compareAsc);
alert(values);//0, 5, 10, 15

values = values.soft(compareDesc);
alert(values);//15, 10, 5, 0

(5)操作方法:concat()、slice()和 splice()。

   concat()基於當前數組,將接收到的參數添加到末尾,並返回新構建的數組。

   slice()基於當前數組中的一個或者多個項來創建一個新數組,可以接收一個或兩個參數,表示返回項的起始和結尾位置。

   splice()可用於刪除、插入和替換多種操作。接收兩個或兩個以上的參數,第一個參數表示起始位置、第二個參數表示要刪除的項數,第三個參數開始表示所有插入的項。

三、String 類型

1、字符方法:charAt()和 charCodeAt()

接收一個參數,返回指定位置的字符和字符編碼。

2、字符串操作方法:

  concat():

用於將一或多個字符串拼接起來,返回新字符串。注:實踐中用的比較少,用加號操作符(+)代替。

  slice(start, end)、substr(start, length)和 substring(start, end):

用於基於子字符串創建新字符串的方法。

3、字符串位置方法:

indexOf()和 lastIndexOf()從一個字符串中搜索給定的子字符串,返回子字符串的位置。

4、字符串模式匹配方法:

 * match():接收一個參數,正則表達式或者是 RegExp 對象,返回匹配數組

 * search():返回字符串中第一個匹配項的索引

 * replace():接收兩個參數,第一個參數爲 正則表達式或者 RegExp 對象或者字符串,第二個參數爲字符串或者函數。注:替換所有子字符串,需要提供一個正則表達式並指定全局(g)標誌。

四、Date 類型

1、創建 Date 對象

 * Date():表示創建一個當前日期對象

 * Date(dateStr) 和 Date.parse(dateStr):表示接收一個表示日期的字符串參數,創建一個日期對象。(注:接收 yyyy/MM/dd 的格式,不接收 yyyy-mm-dd 格式)

 * Date(year, month, day, hour, minute, second) 和 Date.UTC(year, month, day, hour, minute, second):表示通過參數創建一個日期對象,year 和 month 爲必須項。

 * 用於轉換 yyyy-MM-dd hh-mm-ss 字符串格式的例子:

function parseDate(dateStr) {
	dateStr = dateStr.replace(/\\-/g, "-");
	return new Date(dateStr);
}

var dateStr = "2012-04-05 11:19:00";
var date = parseDate(dateStr);

2、日期格式化方法:

 * toDateString()-顯示星期幾、月、年、日

 * toLocaleDateString()-顯示特定地區的星期幾、月、年、日

 * toTimeString()-顯示時、分、秒和時區

 * toLocaleTimeString()-顯示特定地區時、分、秒和時區

 * toUTCString()-顯示完整的 UTC 日期

3、日期/時間組件方法

 * getTime/setTime:日期毫秒數

 * getFullYear/setFullYear:4位數年份

 * getMonth/setMonth:日期中的月份,0-11(使用時需要+1)

 * getDate/setDate:日期中的天數,1-31

 * getDay/setDay:日期中的星期數,0-6(使用時需要+1)

 * getHours/setHours:日期中的小時數,0-23

 * getMinutes/setMinutes:日期中的分鐘數,0-59

 * getSeconds/setSeconds:日期中的秒數,0-59

 * getMilliseconds/setMilliseconds:日期中的毫秒數

五、Math 類型

1、屬性:

 * Math.E:常量 e 的值

 * Math.LN10:10 的自然對數

 * Math.LN2:2 的自然對數

 * Math.LOG2E:以 2 爲底 e 的對數

 * Math.LOG10E:以 10 爲底 e 的對數

 * Math.PI:pi的值

 * Math.SQRT1_2:1/2 的平方根

 * Math.SQRT2:2 的平方根

2、方法:

 * min()和 max()確定數組中的最小值和最大值

 * ceil()、floor()和 round()執行向上舍入、向下舍入和標準舍入

 * random()返回介於 0-1 之間的一個隨機數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章