溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript中的對象

發(fā)布時間:2020-07-23 13:42:22 來源:網(wǎng)絡(luò) 閱讀:370 作者:wx5b83bfb2a52d1 欄目:web開發(fā)

JavaScript 對象
JavaScript 中的所有事物都是對象:字符串、數(shù)值、數(shù)組、函數(shù)...等等。
此外,JavaScript 允許自定義對象。
JavaScript 提供多個內(nèi)建對象,比如 String、Date、Array 等等。 對象只是帶有 "屬性" 和 "方法" 的特殊數(shù)據(jù)類型。
布爾型可以是一個對象。
數(shù)字型可以是一個對象。
字符串也可以是一個對象。
日期是一個對象。
數(shù)學(xué)和正則表達(dá)式也是對象。
數(shù)組是一個對象。
甚至函數(shù)也可以是對象。
對象只是一種特殊的數(shù)據(jù)。對象擁有 "屬性" 和 "方法"。
訪問對象的屬性:
屬性是與對象相關(guān)的值。
訪問對象屬性的語法是:objectName(對象名稱).(屬性名稱)propertyName
這個例子使用了 String 對象的 length 屬性來獲得字符串的長度:
[var message="Hello World!";
var x=message.length;
在以上代碼執(zhí)行后,x 的值將是:
12]
創(chuàng)建 JavaScript 對象:
通過 JavaScript,您能夠定義并創(chuàng)建自己的對象。
創(chuàng)建新對象有兩種不同的方法:
定義并創(chuàng)建對象的實例。
使用函數(shù)來定義對象,然后創(chuàng)建新的對象實例。
使用對象構(gòu)造器。
在JavaScript中,this通常指向的是我們正在執(zhí)行的函數(shù)本身,或者是指向該函數(shù)所屬的對象(運行時)。
把屬性添加到 JavaScript 對象:
您可以通過為對象賦值,向已有對象添加新屬性。
把方法添加到 JavaScript 對象:
方法只不過是附加在對象上的函數(shù)。
::::::::::::::::::::::::::::::::::::
JavaScript 類:
JavaScript 是面向?qū)ο蟮恼Z言,但 JavaScript 不使用類。
在 JavaScript 中,不會創(chuàng)建類,也不會通過類來創(chuàng)建對象(就像在其他面向?qū)ο蟮恼Z言中那樣)。
JavaScript 基于 prototype(原型)的,而不是基于類的。
JavaScript for...in 循環(huán):
JavaScript for...in 語句循環(huán)遍歷對象的屬性。
語法:
for (variable(變量) in object)
{
執(zhí)行的代碼……
}
注意: for...in 循環(huán)中的代碼塊將針對每個屬性執(zhí)行一次。
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript (Number) 對象
JavaScript 只有一種數(shù)字類型,可以使用也可以不使用小數(shù)點來書寫數(shù)字。
JavaScript 數(shù)字可以使用也可以不使用小數(shù)點來書寫。
極大或極小的數(shù)字可通過科學(xué)(指數(shù) "e")計數(shù)法來寫。
所有 JavaScript 數(shù)字均為 64 位
JavaScript 不是類型語言。與許多其他編程語言不同,JavaScript 不定義不同類型的數(shù)字,比如整數(shù)、短、長、浮點等等。
數(shù)字不分為整數(shù)類型和浮點型類型,所有的數(shù)字都是由浮點型類型。采用IEEE754標(biāo)準(zhǔn)定義的64位浮點格式表示數(shù)字,它能表示最大值為±1.7976931348623157 x 10308,最小值為±5 x 10 -324。
精度:
整數(shù)(不使用小數(shù)點或指數(shù)計數(shù)法)最多為 15 位。
小數(shù)的最大位數(shù)是 17,但是浮點運算并不總是 100% 準(zhǔn)確。
八進(jìn)制和十六進(jìn)制:
如果前綴為 0,則 JavaScript 會把數(shù)值常量解釋為八進(jìn)制數(shù),如果前綴為 0 和 "x",則解釋為十六進(jìn)制數(shù)。 絕不要在數(shù)字前面寫零,除非您需要進(jìn)行八進(jìn)制轉(zhuǎn)換。
默認(rèn)情況下,JavaScript 數(shù)字為十進(jìn)制顯示,但是你可以使用 toString() 方法 輸出16進(jìn)制、8進(jìn)制、2進(jìn)制。
無窮大(Infinity):
當(dāng)數(shù)字運算結(jié)果超過了JavaScript所能表示的數(shù)字上限(溢出),結(jié)果為一個特殊的無窮大(infinity)值,在JavaScript中以Infinity表示。同樣地,當(dāng)負(fù)數(shù)的值超過了JavaScript所能表示的負(fù)數(shù)范圍,結(jié)果為負(fù)無窮大,在JavaScript中以-Infinity表示。無窮大值的行為特性和我們所期望的是一致的:基于它們的加、減、乘和除運算結(jié)果還是無窮大(當(dāng)然還保留它們的正負(fù)號)。
NaN - 非數(shù)字值:
NaN 屬性是代表非數(shù)字值的特殊值。該屬性用于指示某個值不是數(shù)字。可以把 Number 對象設(shè)置為該值,來指示其不是數(shù)字值。
你可以使用 isNaN() 全局函數(shù)來判斷一個值是否是 NaN 值。除以0是無窮大,無窮大是一個數(shù)字,所以返回false。
數(shù)字可以是數(shù)字或者對象:
數(shù)字可以私有數(shù)據(jù)進(jìn)行初始化,就像 x = 123;
JavaScript 數(shù)字對象初始化數(shù)據(jù), var y = new Number(123)。
數(shù)字屬性:
MAX_VALUE
MIN_VALUE
NEGATIVE_INFINITY
POSITIVE_INFINITY
NaN
prototype
constructor
數(shù)字方法:
toExponential()
toFixed()
toPrecision()
toString()
valueOf()
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript 字符串(String) 對象
String 對象用于處理已有的字符塊。
一個字符串用于存儲一系列字符就像 "John Doe"。
一個字符串可以使用單引號或雙引號。
你使用位置(索引)可以訪問字符串中任何的字符,字符串的索引從零開始, 所以字符串第一字符為 [0],第二個字符為 [1], 等等。
你可以在字符串中使用轉(zhuǎn)義字符()使用引號。
字符串(String)使用長度屬性length來計算字符串的長度。
字符串使用 indexOf() 來定位字符串中某一個指定的字符首次出現(xiàn)的位置,如果沒找到對應(yīng)的字符函數(shù)返回-1。
lastIndexOf() 方法在字符串末尾開始查找字符串出現(xiàn)的位置。
內(nèi)容匹配:
match()函數(shù)用來查找字符串中特定的字符,并且如果找到的話,則返回這個字符。
替換內(nèi)容:
replace() 方法在字符串中用某些字符替換另一些字符。
字符串大小寫轉(zhuǎn)換:
字符串大小寫轉(zhuǎn)換使用函數(shù) (大寫)toUpperCase() 還有 (小寫)toLowerCase()。
字符串轉(zhuǎn)為數(shù)組:
字符串使用split()函數(shù)轉(zhuǎn)為數(shù)組。
特殊字符:
Javascript 中可以使用反斜線(\)插入特殊符號,如:撇號,引號等其他特殊符號,在JavaScript中,字符串的開始和停止使用單引號或雙引號。
反斜線轉(zhuǎn)義特殊字符:
\' 單引號
\" 雙引號
\ 斜桿
\n 換行
\r 回車
\t tab
\b 空格
\f 換頁
字符串屬性和方法:
屬性:
length
prototype
constructor
方法:
charAt()
charCodeAt()
concat()
fromCharCode()
indexOf()
lastIndexOf()
match()
replace()
search()
slice()
split()
substr()
substring()
toLowerCase()
toUpperCase()
valueOf()
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript Date(日期) 對象
日期對象用于處理日期和時間。
Date(),使用Date()獲取當(dāng)日的日期。
getFullYear(),使用 getFullYear() 獲取年份。
getTime(),getTime() 返回從 1970 年 1 月 1 日至今的毫秒數(shù)。
setFullYear(),使用 setFullYear() 設(shè)置具體的日期。記住 JavaScript 月數(shù)是從0至11。10是11月。
toUTCString(),使用 toUTCString() 將當(dāng)日的日期(根據(jù) UTC)轉(zhuǎn)換為字符串。
getDay(),使用 getDay() 和數(shù)組來顯示星期,而不僅僅是數(shù)字。
Display a clock,在網(wǎng)頁上顯示一個鐘表。
getHours(),獲取當(dāng)前小時數(shù)。
getMinutes(),獲取當(dāng)前分?jǐn)?shù)。
getSeconds(),獲取當(dāng)前秒數(shù)。
Date 對象用于處理日期和時間, 可以通過 new 關(guān)鍵詞來定義 Date 對象。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript Array(數(shù)組) 對象
數(shù)組對象的作用是:使用單獨的變量名來存儲一系列的值。
什么是數(shù)組?:
數(shù)組對象是使用單獨的變量名來存儲一系列的值。
如果你有一組數(shù)據(jù)(例如:車名字),存在單獨變量如下所示:
var car1="Saab";
var car2="Volvo";
var car3="BMW";
然而,如果你想從中找出某一輛車?并且不是3輛,而是300輛呢?這將不是一件容易的事!
最好的方法就是用數(shù)組。
數(shù)組可以用一個變量名存儲所有的值,并且可以用變量名訪問任何一個值。
數(shù)組中的每個元素都有自己的的ID,以便它可以很容易地被訪問到。
創(chuàng)建一個數(shù)組,有三種方法:
下面的代碼定義了一個名為 myCars的數(shù)組對象:
1: 常規(guī)方式:
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
2: 簡潔方式:
var myCars=new Array("Saab","Volvo","BMW");
3: 字面:
var myCars=["Saab","Volvo","BMW"];
訪問數(shù)組:
通過指定數(shù)組名以及索引號碼,你可以訪問某個特定的元素。
[0] 是數(shù)組的第一個元素。[1] 是數(shù)組的第二個元素,以此類推。
在一個數(shù)組中你可以有不同的對象:
所有的JavaScript變量都是對象。數(shù)組元素是對象。函數(shù)是對象。
因此,你可以在數(shù)組中有不同的變量類型。
你可以在一個數(shù)組中包含對象元素、函數(shù)、數(shù)組:
myArray[0]=Date.now;
myArray[1]=myFunction;
myArray[2]=myCars;
數(shù)組方法和屬性:
使用數(shù)組對象預(yù)定義屬性和方法:
var x=myCars.length // myCars 中元素的數(shù)量。
var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值。
原型是JavaScript全局構(gòu)造函數(shù)。它可以構(gòu)建新Javascript對象的屬性和方法。
concat(),合并數(shù)組。
join(),數(shù)組的元素組成字符串輸出。
shift(),刪除數(shù)組的第一個元素 。
pop(),刪除數(shù)組的最后一個元素 。
unshift(),在數(shù)組的開頭添加新元素 。
push(),數(shù)組的末尾添加新的元素。
reverse(),將數(shù)組中的元素的順序反轉(zhuǎn)排序 。
slice(),從一個數(shù)組中選擇元素 。
sort(),數(shù)組排序(按字母順序升序)。
toString(),數(shù)組轉(zhuǎn)換到字符串。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript Boolean(布爾) 對象
Boolean(布爾)對象用于將非布爾值轉(zhuǎn)換為布爾值(true 或者 false),檢查布爾對象是 true 還是 false。
Boolean 對象代表兩個值:"true" 或者 "false"。
下面的代碼定義了一個名為 myBoolean 的布爾對象:
var myBoolean=new Boolean();
如果布爾對象無初始值或者其值為:
0
-0
null
""
false
undefined
NaN
那么對象的值為 false。否則,其值為 true(即使當(dāng)變量值為字符串 "false" 時)。

JavaScript Math(算數(shù)) 對象
Math(算數(shù))對象的作用是:執(zhí)行常見的算數(shù)任務(wù)。
Math.round(),四舍五入。
random(),使用 random() 來返回 0 到 1 之間的隨機(jī)數(shù)。
max(),使用 max() 來返回兩個給定的數(shù)中的較大的數(shù),(在 ECMASCript v3 之前,該方法只有兩個參數(shù))。
min(),使用 min() 來返回兩個給定的數(shù)中的較小的數(shù), (在 ECMASCript v3 之前,該方法只有兩個參數(shù))。
Math 對象:
Math(算數(shù))對象的作用是:執(zhí)行普通的算數(shù)任務(wù)。
Math 對象提供多種算數(shù)值類型和函數(shù)。注意:無需在使用這個對象之前對它進(jìn)行定義。
算數(shù)值:
JavaScript 提供 8 種可被 Math 對象訪問的算數(shù)值,常量使用方法:
Math.E
Math.PI
Math.SQRT2
Math.SQRT1_2
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E
算數(shù)方法:
除了可被 Math 對象訪問的算數(shù)值以外,還有幾個函數(shù)(方法)可以使用。
下面的例子使用了 Math 對象的 round 方法對一個數(shù)進(jìn)行四舍五入。
document.write(Math.round(4.7));
上面的代碼輸出為:5

下面的例子使用了 Math 對象的 random() 方法來返回一個介于 0 和 1 之間的隨機(jī)數(shù):
document.write(Math.random());
上面的代碼輸出為:隨機(jī)的0.6287247786957237

下面的例子使用了 Math 對象的 floor() 方法和 random() 來返回一個介于 0 和 11 之間的隨機(jī)數(shù):
document.write(Math.floor(Math.random()*11));
上面的代碼輸出為:隨機(jī)的5

JavaScript RegExp(正則表達(dá)式) 對象,RegExp:是正則表達(dá)式(regular expression)的簡寫。
什么是 RegExp?:
正則表達(dá)式描述了字符的模式對象。
當(dāng)您檢索某個文本時,可以使用一種模式來描述要檢索的內(nèi)容。RegExp 就是這種模式。
簡單的模式可以是一個單獨的字符。
更復(fù)雜的模式包括了更多的字符,并可用于解析、格式檢查、替換等等。
您可以規(guī)定字符串中的檢索位置,以及要檢索的字符類型,等等。

語法:
var patt=new RegExp(pattern,modifiers);
或更簡單的方法
var patt=/pattern/modifiers;
模式描述了一個表達(dá)式模型。
http://www.iis7.com/a/lm/gjcpmcx/
修飾符(modifiers)描述了檢索是否是全局,區(qū)分大小寫等。

注意:當(dāng)使用構(gòu)造函數(shù)創(chuàng)造正則對象時,需要常規(guī)的字符轉(zhuǎn)義規(guī)則(在前面加反斜杠 \)。
RegExp 修飾符:
修飾符用于執(zhí)行不區(qū)分大小寫和全文的搜索。
i - 修飾符是用來執(zhí)行不區(qū)分大小寫的匹配。
g - 修飾符是用于執(zhí)行全文的搜索(而不是在找到第一個就停止查找,而是找到所有的匹配)。
gi,全文查找和不區(qū)分大小寫搜索。
test(),test()方法搜索字符串指定的值,根據(jù)結(jié)果并返回真或假。
exec(),exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發(fā)現(xiàn)匹配,則返回 null。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI