標籤:javascript 對象
常見的幾種對象及其屬性和用法:
(1).Array 對象
Array 對象用於在單個的變數中儲存多個值。
建立 Array 對象的文法:
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
參數
參數 size 是期望的數組元素個數。返回的數組,length 欄位將被設為 size 的值。參數 element ..., elementn 是參數列表。當使用這些參數來調用建構函式 Array() 時,新建立的數組的元素就會被初始化為這些值。它的 length 欄位也會被設定為參數的個數。
返回值
返回新建立並被初始化了的數組。如果調用建構函式 Array() 時沒有使用參數,那麼返回的數組為空白,length 欄位為 0。當調用建構函式時只傳遞給它一個數字參數,該建構函式將返回具有指定個數、元素為 undefined 的數組。當其他參數調用 Array() 時,該建構函式將用參數指定的值初始化數組。當把建構函式作為函數調用,不使用 new 運算子時,它的行為與使用 new 運算子調用它時的行為完全一樣。
Array 對象屬性
屬性 描述
constructor 返回對建立此對象的數組函數的引用。
length 設定或返回數組中元素的數目。
prototype 使您有能力向對象添加屬性和方法。
Array 對象方法
方法 描述
concat() 串連兩個或更多的數組,並返回結果。
join() 把數組的所有元素放入一個字串。元素通過指定的分隔字元進
行分隔。
pop() 刪除並返回數組的最後一個元素
push() 向數組的末尾添加一個或更多元素,並返回新的長度。
reverse() 顛倒數組中元素的順序。
shift() 刪除並返回數組的第一個元素
slice() 從某個已有的數組返回選定的元素
sort() 對數組的元素進行排序
splice() 刪除元素,並向數組添加新元素。
toSource() 返回該對象的原始碼。
toString() 把數群組轉換為字串,並返回結果。
toLocaleString() 把數群組轉換為本地數組,並返回結果。
unshift() 向數組的開頭添加一個或更多元素,並返回新的長度
。
valueOf() 返回數組對象的原始值
例子:
var arr = new Array(3);
arr[0] = "hello";
arr[1] = 3.245;
arr[2] = "a";
document.write(arr+‘<br/>‘);//hello,world,hahaha
document.write(arr.concat(‘123‘)+‘<br/>‘);
document.write(arr.join()+‘<br/>‘);
document.write(arr.pop()+‘<br/>‘);
document.write(arr.shift()+‘<br/>‘);
document.write(arr.unshift()+‘<br/>‘);
document.write(arr.push("hi")+‘<br/>‘);//4
document.write(arr.reverse()+‘<br/>‘);
document.write(arr.sort());//
/*運行結果:
hello,3.245,a
hello,3.245,a,123
hello,3.245,a
a
hello
1
2
hi,3.245
3.245,hi
*/
(2).Date 對象
Date 對象用於處理日期和時間。
建立 Date 對象的文法:
var myDate=new Date()
注釋:Date 對象會自動把當前日期和時間儲存為其初始值。
Date 對象屬性
屬性 描述
constructor 返回對建立此對象的 Date 函數的引用。
prototype 使您有能力向對象添加屬性和方法。
Date 對象方法
方法 描述
Date() 返回當日的日期和時間。
getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。
getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)。
getMonth() 從 Date 對象返回月份 (0 ~ 11)。
getFullYear() 從 Date 對象以四位元字返回年份。
getYear() 請使用 getFullYear() 方法代替。
getHours() 返回 Date 對象的小時 (0 ~ 23)。
getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。
getSeconds() 返回 Date 對象的秒數 (0 ~ 59)。
getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒數。
getTimezoneOffset() 返回本地時間與格林威治標準時間 (GMT) 的
分鐘差。
getUTCDate() 根據世界時從 Date 對象返回月中的一天 (1 ~ 31)。
getUTCDay() 根據世界時從 Date 對象返回周中的一天 (0 ~ 6)。
getUTCMonth() 根據世界時從 Date 對象返回月份 (0 ~ 11)。
getUTCFullYear() 根據世界時從 Date 對象返回四位元的年份
。
getUTCHours() 根據世界時返回 Date 對象的小時 (0 ~ 23)。
getUTCMinutes() 根據世界時返回 Date 對象的分鐘 (0 ~ 59)
。
getUTCSeconds() 根據世界時返回 Date 對象的秒鐘 (0 ~ 59)
。
getUTCMilliseconds() 根據世界時返回 Date 對象的毫秒(0 ~ 999)
。
parse() 返回1970年1月1日午夜到指定日期(字串)的毫秒
數。
setDate() 設定 Date 對象中月的某一天 (1 ~ 31)。
setMonth() 設定 Date 對象中月份 (0 ~ 11)。
setFullYear() 設定 Date 對象中的年份(四位元字)。
setYear() 請使用 setFullYear() 方法代替。
setHours() 設定 Date 對象中的小時 (0 ~ 23)。
setMinutes() 設定 Date 對象中的分鐘 (0 ~ 59)。
setSeconds() 設定 Date 對象中的秒鐘 (0 ~ 59)。
setMilliseconds() 設定 Date 對象中的毫秒 (0 ~ 999)。
setTime() 以毫秒設定 Date 對象。
setUTCDate() 根據世界時設定 Date 對象中月份的一天 (1 ~ 31)。
setUTCMonth() 根據世界時設定 Date 對象中的月份 (0 ~ 11)。
setUTCFullYear() 根據世界時設定 Date 對象中的年份(四位
數字)。
setUTCHours() 根據世界時設定 Date 對象中的小時 (0 ~ 23)。
setUTCMinutes() 根據世界時設定 Date 對象中的分鐘 (0 ~
59)。
setUTCSeconds() 根據世界時設定 Date 對象中的秒鐘 (0 ~
59)。
setUTCMilliseconds() 根據世界時設定 Date 對象中的毫秒 (0 ~
999)。
toSource() 返回該對象的原始碼。
toString() 把 Date 對象轉換為字串。
toTimeString() 把 Date 對象的時間部分轉換為字串。
toDateString() 把 Date 對象的日期部分轉換為字串。
toGMTString() 請使用 toUTCString() 方法代替。
toUTCString() 根據世界時,把 Date 對象轉換為字串。
toLocaleString() 根據本地時間格式,把 Date 對象轉換為字
符串。
toLocaleTimeString() 根據本地時間格式,把 Date 對象的時間部
分轉換為字串。
toLocaleDateString() 根據本地時間格式,把 Date 對象的日期部
分轉換為字串。
UTC() 根據世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數。
valueOf() 返回 Date 對象的原始值。
例子:
var dt = new Date();
document.write(dt.getFullYear()+‘<br/>‘);
document.write(dt.getYear()+‘<br/>‘);
document.write(dt.getDate()+‘<br/>‘);
document.write(dt.getMonth()+‘<br/>‘);
document.write(dt.getDay()+‘<br/>‘);
document.write(dt.getMinutes()+‘<br/>‘);
document.write(dt.getHours()+‘<br/>‘);
document.write(dt.getSeconds()+‘<br/>‘);
document.write(dt.getMilliseconds()+‘<br/>‘);
document.write(dt.toDateString()+‘<br/>‘);//Sun Jul 19 2015
document.write(Date()+‘<br/>‘);//Sun Jul 19 2015 18:30:55 GMT+0800 (中國標準時間)
/*運行結果:
2015
115
29
6
3
13
17
29
313
Wed Jul 29 2015
Wed Jul 29 2015 17:13:29 GMT+0800
*/
(3).String 對象
String 對象用於處理文本(字串)。
建立 String 對象的文法:
new String(s);
String(s);
參數
參數 s 是要儲存在 String 對象中或轉換成原始字串的值。
返回值
當 String() 和運算子 new 一起作為建構函式使用時,它返回一個新建立的 String 對象,存放的是字串 s 或 s 的字串表示。當不用 new 運算子調用 String() 時,它只把 s 轉換成原始的字串,並返迴轉換後的值。
String 對象屬性
屬性 描述
constructor 對建立該對象的函數的引用
length 字串的長度
prototype 允許您向對象添加屬性和方法
String 對象方法
方法 描述
anchor() 建立 HTML 錨。
big() 用大號字型顯示字串。
blink() 顯示閃動字串。
bold() 使用粗體顯示字串。
charAt() 返回在指定位置的字元。
charCodeAt() 返回在指定的位置的字元的 Unicode 編碼。
concat() 連接字串。
fixed() 以打字機文本顯示字串。
fontcolor() 使用指定的顏色來顯示字串。
fontsize() 使用指定的尺寸來顯示字串。
fromCharCode() 從字元編碼建立一個字串。
indexOf() 檢索字串。
italics() 使用斜體顯示字串。
lastIndexOf() 從後向前搜尋字串。
link() 將字串顯示為連結。
localeCompare() 用本地特定的順序來比較兩個字串。
match() 找到一個或多個Regex的匹配。
replace() 替換與Regex匹配的子串。
search() 檢索與Regex相匹配的值。
slice() 提取字串的片斷,並在新的字串中返回被提取的
部分。
small() 使用小字型大小來顯示字串。
split() 把字串分割為字串數組。
strike() 使用刪除線來顯示字串。
sub() 把字串顯示為下標。
substr() 從起始索引號提取字串中指定數目的字元。
substring() 提取字串中兩個指定的索引號之間的字元。
sup() 把字串顯示為上標。
toLocaleLowerCase() 把字串轉換為小寫。
toLocaleUpperCase() 把字串轉換為大寫。
toLowerCase() 把字串轉換為小寫。
toUpperCase() 把字串轉換為大寫。
toSource() 代表對象的原始碼。
toString() 返回字串。
valueOf() 返回某個字串對象的原始值。
String 對象描述
字串是 JavaScript 的一種基本的資料類型。String 對象的 length 屬性聲明了該字串中的字元數。String 類定義了大量操作字串的方法,例如從字串中提取字元或子串,或者檢索字元或子串。需要注意的是,JavaScript 的字串是不可變的(immutable),String 類定義的方法都不能改變字串的內容。像 String.toUpperCase() 這樣的方法,返回的是全新的字串,而不是修改原始字串。在較早的 Netscape 代碼基的 JavaScript 實現中(例如 Firefox 實現中),字串的行為就像唯讀字元數組。例如,從字串 s 中提取第三個字元,可以用 s[2] 代替更加標準的 s.charAt(2)。此外,對字串應用 for/in 迴圈時,它將枚舉字串中每個字元的數組下標(但要注意,ECMAScript 標準規定,不能枚舉 length 屬性)。因為字串的數組行為不標準,所以應該避免使用它。
例子:
var str = ‘helloworld‘;
/*alert((str.indexOf(‘he‘) >= 0) ? ‘find‘:‘not find‘);*/
document.write(str.indexOf(‘mm‘)+‘<br/>‘);
document.write(str.fontcolor("blue")+‘<br/>‘);
document.write(str.strike()+‘<br/>‘);//顯示帶有刪除符號的字串
document.write(str.concat("hi")+‘<br/>‘);
document.write(str.toUpperCase()+‘<br/>‘);
document.write(str.toLowerCase()+‘<br/>‘);
document.write(str.replace(‘he‘,‘nihao‘)+‘<br/>‘);
/*運行結果:
-1
helloworld
helloworld
helloworldhi
HELLOWORLD
helloworld
nihaolloworld*/
(4).Number 對象
Number 對象是原始數值的封裝對象。
建立 Number 對象的文法:
var myNum=new Number(value);
var myNum=Number(value);
參數
參數 value 是要建立的 Number 對象的數值,或是要轉換成數位值。
返回值
當 Number() 和運算子 new 一起作為建構函式使用時,它返回一個新建立的 Number 對象。如果不用 new 運算子,把 Number() 作為一個函數來調用,它將把自己的參數轉換成一個原始的數值,並且返回這個值(如果轉換失敗,則返回 NaN)。
Number 對象屬性
屬性 描述
constructor 返回對建立此對象的 Number 函數的引用。
MAX_VALUE 可表示的最大的數。
MIN_VALUE 可表示的最小的數。
NaN 非數字值。
NEGATIVE_INFINITY 負無窮大,溢出時返回該值。
POSITIVE_INFINITY 正無窮大,溢出時返回該值。
prototype 使您有能力向對象添加屬性和方法。
Number 對象方法
方法 描述
toString 把數字轉換為字串,使用指定的基數。
toLocaleString 把數字轉換為字串,使用本地數字格式順序。
toFixed 把數字轉換為字串,結果的小數點後有指定位元的
數字。
toExponential 把對象的值轉換為指數計數法。
toPrecision 把數字格式化為指定的長度。
valueOf 返回一個 Number 對象的基本數字值。
Number 對象描述
在 JavaScript 中,數字是一種基本的資料類型。JavaScript 還支援 Number 對象,該對象是原始數值的封裝對象。在必要時,JavaScript 會自動地在未經處理資料和對象之間轉換。在 JavaScript 1.1 中,可以用建構函式 Number() 明確地建立一個 Number 對象,儘管這樣做並沒有什麼必要。建構函式 Number() 可以不與運算子 new 一起使用,而直接作為轉化函數來使用。以這種方式調用 Number() 時,它會把自己的參數轉化成一個數字,然後返迴轉換後的原始數值(或 NaN)。建構函式通常還用作 5 個有用的數字常量的預留位置,這 5 個有用的數字常量分別是可表示的最大數、可表示的最小數、正無窮大、負無窮大和特殊的 NaN 值。 注意,這些值是建構函式 Number() 自身的屬性,而不是單獨的某個 Number 對象的屬性。
比如這樣使用屬性 MAX_VALUE 是正確的:
var big = Number.MAX_VALUE
但是這樣是錯誤的:
var n= new Number(2);
var big = n.MAX_VALUE
作為比較,我們看一下 toString() 和 Number 對象的其他方法,它們是每個 Number 對象的方法,而不是 Number() 建構函式的方法。前面提到過,在必要時,JavaScript 會自動地把原始數值轉化成 Number 對象,調用 Number 方法的既可以是 Number 對象,也可以是原始數字值。
var n = 123;
var binary_value = n.toString(2);
(5).Boolean 對象
Boolean 對象表示兩個值:"true" 或 "false"。
建立 Boolean 對象的文法:
new Boolean(value); //建構函式
Boolean(value); //轉換函式
參數
參數 value 由布爾對象存放的值或者要轉換成布爾值的值。
返回值
當作為一個建構函式(帶有運算子 new)調用時,Boolean() 將把它的參數轉換成一個布爾值,並且返回一個包含該值的 Boolean 對象。如果作為一個函數(不帶有運算子 new)調用時,Boolean() 只將把它的參數轉換成一個原始的布爾值,並且返回這個值。注釋:如果省略 value 參數,或者設定為 0、-0、null、""、false、undefined 或 NaN,則該對象設定為 false。否則設定為 true(即使 value 參數是字串 "false")。
Boolean 對象屬性
屬性 描述
constructor 返回對建立此對象的 Boolean 函數的引用
prototype 使您有能力向對象添加屬性和方法。
Boolean 對象方法
方法 描述
toSource() 返回該對象的原始碼。
toString() 把邏輯值轉換為字串,並返回結果。
valueOf() 返回 Boolean 對象的原始值。
Boolean 對象描述
在 JavaScript 中,布爾值是一種基本的資料類型。Boolean 對象是一個將布爾值打包的布爾對象。Boolean 對象主要用於提供將布爾值轉換成字串的 toString() 方法。當調用 toString() 方法將布爾值轉換成字串時(通常是由 JavaScript 隱式地調用),JavaScript 會內在地將這個布爾值轉換成一個臨時的 Boolean 對象,然後調用這個對象toString() 方法。
(6).Math 對象
Math 對象用於執行數學任務。使用 Math 的屬性和方法的文法:
var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);
注釋:Math 對象並不像 Date 和 String 那樣是對象的類,因此沒有建構函式 Math(),像 Math.sin() 這樣的函數只是函數,不是某個對象的方法。您無需建立它,通過把 Math 作為對象使用就可以調用其所有屬性和方法。
Math 對象屬性
屬性 描述
E 返回算術常量 e,即自然對數的底數(約等於2.718)。
LN2 返回 2 的自然對數(約等於0.693)。
LN10 返回 10 的自然對數(約等於2.302)。
LOG2E 返回以 2 為底的 e 的對數(約等於 1.414)。
LOG10E 返回以 10 為底的 e 的對數(約等於0.434)。
PI 返回圓周率(約等於3.14159)。
SQRT1_2 返回返回 2 的平方根的倒數(約等於 0.707)。
SQRT2 返回 2 的平方根(約等於 1.414)。
Math 對象方法
方法 描述
abs(x) 返回數的絕對值。
acos(x) 返回數的反餘弦值。
asin(x) 返回數的反正弦值。
atan(x) 以介於 -PI/2 與 PI/2 弧度之間的數值來返回 x 的
反正切值。
atan2(y,x) 返回從 x 軸到點 (x,y) 的角度(介於 -PI/2 與
PI/2 弧度之間)。
ceil(x) 對數進行上舍入。
cos(x) 返回數的餘弦。
exp(x) 返回 e 的指數。
floor(x) 對數進行下舍入。
log(x) 返回數的自然對數(底為e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次冪。
random() 返回 0 ~ 1 之間的隨機數。
round(x) 把數四捨五入為最接近的整數。
sin(x) 返回數的正弦。
sqrt(x) 返回數的平方根。
tan(x) 返回角的正切。
toSource() 返回該對象的原始碼。
valueOf() 返回 Math 對象的原始值。
例子:
document.write(Math.floor(2.3)+‘<br/>‘);//math全部為靜態方法。
document.write(Math.ceil(2.3)+‘<br/>‘);
document.write(Math.round(2.3)+‘<br/>‘);
document.write(Math.sqrt(10)+‘<br/>‘);
document.write(Math.random()*5+5+‘<br/>‘);//返回[5,10)
document.write(Math.random()+‘<br/>‘); //返回[0,1)
/*運行結果:
2
3
2
3.1622776601683795
8.213993671524253
0.3670194675527746
*/
(7).JavaScript 全域對象
全域屬性和函數可用於所有內建的 JavaScript 對象。頂層函數(全域函數)
函數 描述
decodeURI() 解碼某個編碼的 URI。
decodeURIComponent() 解碼一個編碼的 URI 組件。
encodeURI() 把字串編碼為 URI。
encodeURIComponent() 把字串編碼為 URI 組件。
escape() 對字串進行編碼。
eval() 計算 JavaScript 字串,並把它作為指令碼代碼來執行。
getClass() 返回一個 JavaObject 的 JavaClass。
isFinite() 檢查某個值是否為有窮大的數。
isNaN() 檢查某個值是否是數字。
Number() 把對象的值轉換為數字。
parseFloat() 解析一個字串並返回一個浮點數。
parseInt() 解析一個字串並返回一個整數。
String() 把對象的值轉換為字串。
unescape() 對由 escape() 編碼的字串進行解碼。
頂層屬性(全域屬性)
方法 描述
Infinity 代表正的無窮大的數值。
java 代表 java.* 包層級的一個 JavaPackage。
NaN 指示某個值是不是數字值。
Packages 根 JavaPackage 對象。
undefined 指示未定義的值。
全域對象描述全域對象是預定義的對象,作為 JavaScript 的全域函數和全域屬性的預留位置。通過使用全域對象,可以訪問所有其他所有預定義的對象、函數和屬性。全域對象不是任何對象的屬性,所以它沒有名稱。在頂層 JavaScript 代碼中,可以用關鍵字 this 引用全域對象。但通常不必用這種方式引用全域對象,因為全域對象是範圍鏈的頭,這意味著所有非限定性的變數和函數名都會作為該對象的屬性來查詢。例如,當JavaScript 代碼引用 parseInt() 函數時,它引用的是全域對象的 parseInt 屬性。全域對象是範圍鏈的頭,還意味著在頂層 JavaScript 代碼中聲明的所有變數都將成為全域對象的屬性。全域對象只是一個對象,而不是類。既沒有建構函式,也無法執行個體化一個新的全域對象。在 JavaScript 代碼嵌入一個特殊環境中時,全域對象通常具有環境特定的屬性。實際上,ECMAScript 標準沒有規定全域對象的類型,JavaScript 的實現或嵌入的 JavaScript 都可以把任意類型的對象作為全域對象,只要該對象定義了這裡列出的基本屬性和函數。例如,在允許通過 LiveConnect 或相關的技術來指令碼化 Java 的 JavaScript 實現中,全域對象被賦予了這裡列出的 java 和 Package 屬性以及 getClass() 方法。而在用戶端 JavaScript 中,全域對象就是 Window 對象,表示允許 JavaScript 代碼的 網頁瀏覽器視窗。
例子
在 JavaScript 核心語言中,全域對象的預定義屬性都是不可枚舉的,所有可以用 for/in 迴圈列出所有隱式或顯式聲明的全域變數,如下所示:
var variables = "";
for (var name in this)
{
variables += name + "<br />";
}
document.write(variables);
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
JavaScript常用對象