javascript的對象

JavaScript 對象
JavaScript 中的所有事物都是對象:字符串、數值、數組、函數...等等。
此外,JavaScript 允許自定義對象。
JavaScript 提供多個內建對象,比如 String、Date、Array 等等。 對象只是帶有 "屬性" 和 "方法" 的特殊數據類型。
布爾型可以是一個對象。
數字型可以是一個對象。
字符串也可以是一個對象。
日期是一個對象。
數學和正則表達式也是對象。
數組是一個對象。
甚至函數也可以是對象。
對象只是一種特殊的數據。對象擁有 "屬性" 和 "方法"。
訪問對象的屬性:
屬性是與對象相關的值。
訪問對象屬性的語法是:objectName(對象名稱).(屬性名稱)propertyName
這個例子使用了 String 對象的 length 屬性來獲得字符串的長度:
[var message="Hello World!";
var x=message.length;
在以上代碼執行後,x 的值將是:
12]
創建 JavaScript 對象:
通過 JavaScript,您能夠定義並創建自己的對象。
創建新對象有兩種不同的方法:
定義並創建對象的實例。
使用函數來定義對象,然後創建新的對象實例。
使用對象構造器。
在JavaScript中,this通常指向的是我們正在執行的函數本身,或者是指向該函數所屬的對象(運行時)。
把屬性添加到 JavaScript 對象:
您可以通過爲對象賦值,向已有對象添加新屬性。
把方法添加到 JavaScript 對象:
方法只不過是附加在對象上的函數。
::::::::::::::::::::::::::::::::::::
JavaScript 類:
JavaScript 是面向對象的語言,但 JavaScript 不使用類。
在 JavaScript 中,不會創建類,也不會通過類來創建對象(就像在其他面向對象的語言中那樣)。
JavaScript 基於 prototype(原型)的,而不是基於類的。
JavaScript for...in 循環:
JavaScript for...in 語句循環遍歷對象的屬性。
語法:
for (variable(變量) in object)
{

執行的代碼……

}
注意: for...in 循環中的代碼塊將針對每個屬性執行一次。
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript (Number) 對象
JavaScript 只有一種數字類型,可以使用也可以不使用小數點來書寫數字。
JavaScript 數字可以使用也可以不使用小數點來書寫。
極大或極小的數字可通過科學(指數 "e")計數法來寫。
所有 JavaScript 數字均爲 64 位
JavaScript 不是類型語言。與許多其他編程語言不同,JavaScript 不定義不同類型的數字,比如整數、短、長、浮點等等。
數字不分爲整數類型和浮點型類型,所有的數字都是由浮點型類型。採用IEEE754標準定義的64位浮點格式表示數字,它能表示最大值爲±1.7976931348623157 x 10308,最小值爲±5 x 10 -324。
精度:
整數(不使用小數點或指數計數法)最多爲 15 位。
小數的最大位數是 17,但是浮點運算並不總是 100% 準確。
八進制和十六進制:
如果前綴爲 0,則 JavaScript 會把數值常量解釋爲八進制數,如果前綴爲 0 和 "x",則解釋爲十六進制數。 絕不要在數字前面寫零,除非您需要進行八進制轉換。
默認情況下,JavaScript 數字爲十進制顯示,但是你可以使用 toString() 方法 輸出16進制、8進制、2進制。
無窮大(Infinity):
當數字運算結果超過了JavaScript所能表示的數字上限(溢出),結果爲一個特殊的無窮大(infinity)值,在JavaScript中以Infinity表示。同樣地,當負數的值超過了JavaScript所能表示的負數範圍,結果爲負無窮大,在JavaScript中以-Infinity表示。無窮大值的行爲特性和我們所期望的是一致的:基於它們的加、減、乘和除運算結果還是無窮大(當然還保留它們的正負號)。
NaN - 非數字值:
NaN 屬性是代表非數字值的特殊值。該屬性用於指示某個值不是數字。可以把 Number 對象設置爲該值,來指示其不是數字值。
你可以使用 isNaN() 全局函數來判斷一個值是否是 NaN 值。除以0是無窮大,無窮大是一個數字,所以返回false。
數字可以是數字或者對象:
數字可以私有數據進行初始化,就像 x = 123;
JavaScript 數字對象初始化數據, var y = new Number(123)。
數字屬性:
MAX_VALUE
MIN_VALUE
NEGATIVE_INFINITY
POSITIVE_INFINITY
NaN
prototype
constructor
數字方法:
toExponential()
toFixed()
toPrecision()
toString()
valueOf()
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript 字符串(String) 對象
String 對象用於處理已有的字符塊。
一個字符串用於存儲一系列字符就像 "John Doe"。
一個字符串可以使用單引號或雙引號。
你使用位置(索引)可以訪問字符串中任何的字符,字符串的索引從零開始, 所以字符串第一字符爲 [0],第二個字符爲 [1], 等等。
你可以在字符串中使用轉義字符()使用引號。
字符串(String)使用長度屬性length來計算字符串的長度。
字符串使用 indexOf() 來定位字符串中某一個指定的字符首次出現的位置,如果沒找到對應的字符函數返回-1。
lastIndexOf() 方法在字符串末尾開始查找字符串出現的位置。
內容匹配:
match()函數用來查找字符串中特定的字符,並且如果找到的話,則返回這個字符。
替換內容:
replace() 方法在字符串中用某些字符替換另一些字符。
字符串大小寫轉換:
字符串大小寫轉換使用函數 (大寫)toUpperCase() 還有 (小寫)toLowerCase()。
字符串轉爲數組:
字符串使用split()函數轉爲數組。
特殊字符:
Javascript 中可以使用反斜線()插入特殊符號,如:撇號,引號等其他特殊符號,在JavaScript中,字符串的開始和停止使用單引號或雙引號。
反斜線轉義特殊字符:
' 單引號
" 雙引號
\ 斜杆
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()獲取當日的日期。
getFullYear(),使用 getFullYear() 獲取年份。
getTime(),getTime() 返回從 1970 年 1 月 1 日至今的毫秒數。
setFullYear(),使用 setFullYear() 設置具體的日期。記住 JavaScript 月數是從0至11。10是11月。
toUTCString(),使用 toUTCString() 將當日的日期(根據 UTC)轉換爲字符串。
getDay(),使用 getDay() 和數組來顯示星期,而不僅僅是數字。
Display a clock,在網頁上顯示一個鐘錶。
getHours(),獲取當前小時數。
getMinutes(),獲取當前分數。
getSeconds(),獲取當前秒數。
Date 對象用於處理日期和時間, 可以通過 new 關鍵詞來定義 Date 對象。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript Array(數組) 對象
數組對象的作用是:使用單獨的變量名來存儲一系列的值。
什麼是數組?:
數組對象是使用單獨的變量名來存儲一系列的值。
如果你有一組數據(例如:車名字),存在單獨變量如下所示:
var car1="Saab";
var car2="Volvo";
var car3="BMW";
然而,如果你想從中找出某一輛車?並且不是3輛,而是300輛呢?這將不是一件容易的事!
最好的方法就是用數組。
數組可以用一個變量名存儲所有的值,並且可以用變量名訪問任何一個值。
數組中的每個元素都有自己的的ID,以便它可以很容易地被訪問到。
創建一個數組,有三種方法:
下面的代碼定義了一個名爲 myCars的數組對象:
1: 常規方式:
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"];
訪問數組:
通過指定數組名以及索引號碼,你可以訪問某個特定的元素。
[0] 是數組的第一個元素。[1] 是數組的第二個元素,以此類推。
在一個數組中你可以有不同的對象:
所有的JavaScript變量都是對象。數組元素是對象。函數是對象。
因此,你可以在數組中有不同的變量類型。
你可以在一個數組中包含對象元素、函數、數組:
myArray[0]=Date.now;
myArray[1]=myFunction;
myArray[2]=myCars;
數組方法和屬性:
使用數組對象預定義屬性和方法:
var x=myCars.length // myCars 中元素的數量。
var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值。
原型是JavaScript全局構造函數。它可以構建新Javascript對象的屬性和方法。
concat(),合併數組。
join(),數組的元素組成字符串輸出。
shift(),刪除數組的第一個元素 。
http://www.iis7.com/a/lm/yczmljgj/
pop(),刪除數組的最後一個元素 。
unshift(),在數組的開頭添加新元素 。
push(),數組的末尾添加新的元素。
reverse(),將數組中的元素的順序反轉排序 。
slice(),從一個數組中選擇元素 。
sort(),數組排序(按字母順序升序)。
toString(),數組轉換到字符串。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
JavaScript Boolean(布爾) 對象
Boolean(布爾)對象用於將非布爾值轉換爲布爾值(true 或者 false),檢查布爾對象是 true 還是 false。
Boolean 對象代表兩個值:"true" 或者 "false"。
下面的代碼定義了一個名爲 myBoolean 的布爾對象:
var myBoolean=new Boolean();
如果布爾對象無初始值或者其值爲:
0
-0
null
""
false
undefined
NaN
那麼對象的值爲 false。否則,其值爲 true(即使當變量值爲字符串 "false" 時)。

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

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

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

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

語法:
var patt=new RegExp(pattern,modifiers);
或更簡單的方法
var patt=/pattern/modifiers;
模式描述了一個表達式模型。

修飾符(modifiers)描述了檢索是否是全局,區分大小寫等。
注意:當使用構造函數創造正則對象時,需要常規的字符轉義規則(在前面加反斜槓 )。
RegExp 修飾符:
修飾符用於執行不區分大小寫和全文的搜索。
i - 修飾符是用來執行不區分大小寫的匹配。
g - 修飾符是用於執行全文的搜索(而不是在找到第一個就停止查找,而是找到所有的匹配)。
gi,全文查找和不區分大小寫搜索。
test(),test()方法搜索字符串指定的值,根據結果並返回真或假。
exec(),exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。

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