JavaScript常用本機物件小結_javascript技巧

來源:互聯網
上載者:User

一、javascript是物件導向的程式設計語言

封裝:把相關的資訊(無論資料或方法)儲存在對象中的能力

聚集:把一個Object Storage Service在另一個對象內的能力

繼承:由另一個類(或多個類)得來類的屬性和方法的能力。

多態:編寫能以多種形態啟動並執行函數或方法的能力

二、Array對象

使用單獨的變數名來儲存一系列的值。

2.1建立數組對象

var aValues = new Array();var aValues = new Array(25);var aColors = new Array("red","green","blue");alert(aColors[1]);//輸出greenaColors[0] = "white"; //修改第一個元素的值var aColors = new Array();aColors[0] = "red";aColors[1] = "green";aColors[2] = "blue";

2.2使用字面量建立Array

var aColors = ["red","green","blue"];aColors[3]="black"; 

2.3數組的長度

var aColors = new Array("red","green","blue“);alert(aColors.length);//輸出3 var aColors = new Array("red","green","blue“);alert(aColors.length);//輸出3aColors[20]="black";alert(aColors.length);//輸出21alert(aColors[3]);//輸出undefined 

2.4數組的遍曆

var subjects=["html/css/js","Web form","ajax","N-Tiers","oracle"];for(var i=0;i<subjects.length;i++){alert(subjects[i]);} var subjects=["html/css/js","Web form","ajax","N-Tiers","oracle"];for(var index in subjects){alert(subjects[index]);}

2.5數組的屬性和方法

length 設定或返回數組中元素的數目。

join() 通過指定的分隔字元將數組的所有元素拼接成一個字串。

reverse() 顛倒數組中元素的順序。

sort() 對數組的元素進行排序

arrayObject.sort(sortby)

參數為可選的。規定定序。必須是函數。

傳回值為對數組的引用。請注意,數組在原數組上進行排序,不產生副本。

自訂定序

如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。

比較函數應該具有兩個參數 a 和 b,其傳回值如下:若 a 小於 b,在排序後的數組中 a 應該出現在 b 之前,則返回一個小於 0 的值。若 a 等於 b,則返回 0。 若 a 大於 b,則返回一個大於 0 的值。

concat(Array array)

串連兩個或更多的數組,並返回結果。

Array slice(Number start,Number end)

從某個已有的數組返回選定的元素

var messages4 = messages3.slice(0, 5);

splice() 刪除元素,並向數組添加新元素。

messages4.splice(0, 2, "dddd"); //0表示開始刪除的元素位置,2表示刪除的長度,添加的元素為dddd,在刪除位元置添加

push() 向數組的末尾添加一個或更多元素,並返回新的長度。

pop() 刪除並返回數組的最後一個元素

unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。

shift() 刪除並返回數組的第一個元素

2.6數組的應用

var messages = new Array("","","");messages[0] = "beijing";messages[1] = "shanghai";messages[2] = "zhejiang";messages[3] = "hunan";for ( var index in messages) {document.writeln("遍曆數組");document.write(messages[index]);document.write("<br>");}var s = messages.join(',');document.writeln("join數組");document.write(s);document.write("<br>");messages.reverse();for ( var index in messages) {document.writeln("倒序後");document.write(messages[index]);document.write("<br>");}messages.sort();for ( var index in messages) {document.writeln("排序後");document.write(messages[index]);document.write("<hr>");}var messages2 = ["a","c","b"];var messages3 = messages.concat(messages2);for ( var index in messages3) {document.writeln("合并後");document.write(messages3[index]);document.write("<hr>");}var messages4 = messages3.slice(0, 5);for ( var index in messages4) {document.writeln("選擇slice(0,5)後");document.write(messages4[index]);document.write("<hr>");}

以上代碼輸出結果為:

遍曆數組 beijing

遍曆數組 shanghai

遍曆數組 zhejiang

遍曆數組 hunan

join數組 beijing,shanghai,zhejiang,hunan

倒序後 hunan

倒序後 zhejiang

倒序後 shanghai

倒序後 beijing

排序後 beijing

排序後 hunan

排序後 shanghai

排序後 zhejiang

合并後 beijing

合并後 hunan

合并後 shanghai

合并後 zhejiang

合并後 a

合并後 c

合并後 b

選擇slice(0,5)後 beijing

選擇slice(0,5)後 hunan

選擇slice(0,5)後 shanghai

選擇slice(0,5)後 zhejiang

選擇slice(0,5)後 a

三、Date對象

Date 對象用於獲得和處理日期和時間。

3.1定義日期

var myDate=new Date() ;var myDate=new Date(2009 , 7 , 20); //2009-08-20 var myDate=new Date(2009 , 7 , 20 , 16, 40 ,58, 999); //依次表示年月日時分秒毫秒 

3.2日期對象的方法

3.2.1toXXX方法組

toString() 把 Date 對象轉換為字串。

toTimeString()

把 Date 對象的時間部分轉換為字串。

toDateString()

把 Date 對象的日期部分轉換為字串。

toGMTString() 根據格林尼治時間,把 Date 對象轉換為字串。

toUTCString() 根據世界時,把 Date 對象轉換為字串。

toLocaleString()

把 Date 對象轉換為本地時間格式字串。

toLocaleTimeString()

把 Date 對象的時間部分轉換為本地時間格式字串

toLocaleDateString()

把 Date 對象的日期部分轉換為本地時間格式字串

3.2.2getXXX方法組

getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)

getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)

getMonth() 從 Date 對象返回月份 (0 ~ 11)

getFullYear() 從 Date 對象以四位元字返回年份

getYear() 從 Date 對象以兩位或四位元字返回年份。

getHours() 返回 Date 對象的小時 (0 ~ 23)

getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)

getSeconds() 返回 Date 對象的秒數 (0 ~ 59))

getMilliseconds()

返回 Date 對象的毫秒(0 ~ 999)

getTime() 返回 1970 年 1 月 1 日至今的毫秒數

3.2.3setXXX方法組

setDate() 設定 Date 對象中月的某一天 (1 ~ 31))

setMonth() 設定 Date 對象中月份 (0 ~ 11))

setFullYear() 設定 Date 對象中的年份(四位元字)

setYear() 設定 Date 對象中的年份(兩位或四位元字)。

setHours() 設定 Date 對象中的小時 (0 ~ 23)

setMinutes() 設定 Date 對象中的分鐘 (0 ~ 59)

setSeconds() 設定 Date 對象中的秒鐘 (0 ~ 59)

setMilliseconds()

設定 Date 對象中的毫秒 (0 ~ 999)

setTime() 通過向時間原點添加或減去指定毫秒數來計算日期和時間

四、String對象

String對象表示Unicode字元的序列。

String 對象的 length 屬性聲明了該字串中的字元數。

String 類定義了大量操作字串的方法。

4.1屬性

length 字串的長度

4.2與字串格式控制相關的方法

big()、small() 用大號字型、小字型大小體顯示字串。

bold() 使用粗體顯示字串。

italics() 使用斜體顯示字串。

strike() 使用刪除線來顯示字串。

fontcolor() 使用指定的顏色來顯示字串。

fontsize() 使用指定的尺寸來顯示字串。

sub()、sup() 把字串顯示為下標、上標。

toLowerCase()、toUpperCase()

把字串轉換為小寫、大寫。

fixed() 以打字機文本顯示字串。

link() 將字串顯示為連結。

anchor() 建立 HTML 錨。

4.3與字串內容操作相關的方法

charAt() 返回在指定位置的字元。

charCodeAt() 返回在指定的位置的字元的 Unicode 編碼。

concat() 連接字串。

fromCharCode()

從字元編碼建立一個字串。

indexOf()、lastIndexOf()

從前向後檢索字串。從後向前搜尋字串。

localeCompare()

用本地特定的順序來比較兩個字串。

match() 找到一個或多個正在運算式的匹配。

replace()、search()

替換、檢索與Regex匹配的子串。

slice() 提取字串的片斷。

split() 把字串分割為字串數組。

substr() 從起始索引號提取字串中指定數目的字元。

substring() 提取字串中兩個指定的索引號之間的字元。

4.4應用

var strings = new String("AbcDEfG");document.write("strings中的字串值:");document.write(strings);document.write('<hr>');document.write("strings.big()大號字型顯示:");document.write(strings.big());document.write('<hr>');document.write("strings.small()小號字型顯示:");document.write(strings.small());document.write('<hr>');document.write("strings.bold()粗體顯示:");document.write(strings.bold());document.write('<hr>');document.write("strings.italics()斜體顯示:");document.write(strings.italics());document.write('<hr>');document.write("strings.strike()刪除線顯示:");document.write(strings.strike());document.write('<hr>');document.write("strings.fontcolor('green')指定顏色顯示:");document.write(strings.fontcolor('green'));document.write('<hr>');document.write("strings.fontsize(10)指定大小顯示:");document.write(strings.fontsize(10));document.write('<hr>');document.write("strings.sub()下標顯示:");document.write("123"+ strings.sub());document.write('<hr>');document.write("strings.sup()上標顯示:");document.write("123"+strings.sup());document.write('<hr>');document.write("strings.toLocaleLowerCase()小寫顯示:");document.write(strings.toLocaleLowerCase());document.write('<hr>');document.write("strings.toLocaleUpperCase()大寫顯示:");document.write(strings.toLocaleUpperCase());document.write('<hr>');document.write("strings.fixed()打字機文本顯示:");document.write(strings.fixed());document.write('<hr>');document.write("strings.link()連結顯示:");document.write(strings.link());document.write('<hr>');document.write("strings.anchor()建立HTML錨顯示:");document.write(strings.anchor());document.write('<hr>');document.write("strings.charAt(2)返回指定位置的字元:");document.write(strings.charAt(2));document.write('<hr>');document.write("strings.charCodeAt(2)返回指定位置的字元的unicode編碼:");document.write(strings.charCodeAt(2));document.write('<hr>');document.write("strings.concat('higkL')連接字串:");document.write(strings.concat("higkL"));document.write('<hr>');document.write("String.fromCharCode(98)靜態方法從字元編碼建立一個字串:");document.write(String.fromCharCode(98));document.write('<hr>');document.write("strings.indexOf('G', 1)從指定1處開始從前向後檢索字元,返回一個位置值:");document.write(strings.indexOf('G', 1));document.write('<hr>');document.write("strings.lastIndexOf('G', 1)從指定1處開始從後向前檢索字元,找不到指定字元位置返回-1.返回一個位置值:");document.write(strings.lastIndexOf('G', 1));document.write('<hr>');document.write("strings.localeCompare('ABcdEfG'):'ABcdEfG'從第0個位置開始比較'AbcDEfG',如果兩個字串完全相同返回0,被比較的字串ASSIC碼值要小,則返回-1,大則返回1。用本地特定的順序來比較兩個字串:");document.write(strings.localeCompare("ABcdEfG"));document.write('<hr>');document.write("strings.match('[a-z]{2}'):'AbcDEfG',傳回值為bc,表示匹配到了。匹配不到返回null。找到一個或多個Regex的匹配:");document.write(strings.match('[a-z]{2}'));document.write('<hr>');document.write("strings.search('[a-z]'):'AbcDEfG',傳回值為下標1,表示檢索到了。匹配不到返回-1。找到一個或多個Regex的匹配:");document.write(strings.search('[a-z]'));document.write('<hr>');document.write('strings.slice(2, 3)參數1表示開始位置,參數2表示結束位置,不包括該位置。提取字串:');document.write(strings.slice(2, 3));document.write('<hr>');document.write('strings.substring(2, 3)參數1表示開始位置,參數2表示結束位置,不包括該位置。提取字串:');document.write(strings.substring(2, 3));document.write('<hr>');以上代碼輸出為strings中的字串值:AbcDEfGstrings.big()大號字型顯示:AbcDEfGstrings.small()小號字型顯示:AbcDEfGstrings.bold()粗體顯示:AbcDEfGstrings.italics()斜體顯示:AbcDEfGstrings.strike()刪除線顯示:AbcDEfGstrings.fontcolor('green')指定顏色顯示:AbcDEfGstrings.fontsize(10)指定大小顯示:AbcDEfGstrings.sub()下標顯示:123AbcDEfGstrings.sup()上標顯示:123AbcDEfGstrings.toLocaleLowerCase()小寫顯示:abcdefgstrings.toLocaleUpperCase()大寫顯示:ABCDEFGstrings.fixed()打字機文本顯示:AbcDEfGstrings.link()連結顯示:AbcDEfGstrings.anchor()建立HTML錨顯示:AbcDEfGstrings.charAt(2)返回指定位置的字元:cstrings.charCodeAt(2)返回指定位置的字元的unicode編碼:99strings.concat('higkL')連接字串:AbcDEfGhigkLString.fromCharCode(98)靜態方法從字元編碼建立一個字串:bstrings.indexOf('G', 1)從指定1處開始從前向後檢索字元,返回一個位置值:6strings.lastIndexOf('G', 1)從指定1處開始從後向前檢索字元,找不到指定字元位置返回-1.返回一個位置值:-1strings.localeCompare('ABcdEfG'):'ABcdEfG'從第0個位置開始比較'AbcDEfG',如果兩個字串完全相同返回0,被比較的字串ASSIC碼值要小,則返回-1,大則返回1。用本地特定的順序來比較兩個字串:-1strings.match('[a-z]{2}'):'AbcDEfG',傳回值為bc,表示匹配到了。匹配不到返回null。找到一個或多個Regex的匹配:bcstrings.search('[a-z]'):'AbcDEfG',傳回值為下標1,表示檢索到了。匹配不到返回-1。找到一個或多個Regex的匹配:1strings.slice(2, 3)參數1表示開始位置,參數2表示結束位置,不包括該位置。提取字串:cstrings.substring(2, 3)參數1表示開始位置,參數2表示結束位置,不包括該位置。提取字串:c

五、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 的平方根除 1 (約等於 0.707)

SQRT2 返回 2 的平方根 (約等於 1.414)

abs(x) 返回數的絕對值

cos(x)、acos(x)

返回數的正弦、反餘弦值

sin(x) 、asin(x)

返回數的正弦、反正弦值

tan(x)、atan(x)

返回角的正切、返回 -PI/2 與 PI/2之間弧度數的反正切值

atan2(y,x) 返回從 x 軸到點 (x,y) 的角度

ceil(x)、floor(x)

對一個數進行上舍入。對一個數進行下舍入。

exp(x)、log(x) 返回 e 的指數。返回數的自然對數(底為e)

max(x,y)、min(x,y)

返回 x 和 y 中的最高值

pow(x,y) 返回 x 的 y 次冪

random() 返回 0 ~ 1 之間的隨機數

round(x) 把一個數四捨五入為最接近的整數

sqrt(x) 返回數的平方根

六、Global對象

全域對象是預定義的對象,作為 JavaScript 的全域函數和全域屬性的預留位置。

通過使用全域對象,可以訪問所有其他所有預定義的對象、函數和屬性。
全域對象不是任何對象的屬性,所以它沒有名稱。它既沒有建構函式,也無法執行個體化一個新的全域對象,它的所有成員都是靜態。

6.1全域屬性

Infinity 代表正的無窮大的數值。

NaN 指示某個值是不是數字值。

undefined 指示未定義的值。

6.2全域函數

decodeURI() 解碼某個編碼的 URI。

decodeURIComponent()

解碼一個編碼的 URI 組件。

encodeURI() 把字串編碼為 URI。

encodeURIComponent()

把字串編碼為 URI 組件。
eval() 計算字串,並把它作為指令碼代碼來執行。

isFinite() 檢查某個值是否為有窮大的數。

isNaN() 檢查某個值是否是數字。

isNaN() 函數通常用於檢測 parseFloat() 和 parseInt() 的結果,以判斷它們表示的是否是合法的數字。當然也可以用 isNaN() 函數來檢測算數錯誤,比如用 0 作除數的情況。

parseFloat() 解析一個字串並返回一個浮點數。

parseInt() 解析一個字串並返回一個整數。

七、小結

JavaScript是一門物件導向的語言,具有自訂對象的能力。同時,它可以基於已有對象編程,包含ECMAScript的本機物件,作為宿主的瀏覽器運行環境提供一組瀏覽器對象和網頁提供的對象。

本機物件是一組由ECMAScript提供的參考型別,它何ECMAScript都會實現的一些對象,與特定的指令碼宿主無關。
數組對象實際上是長度動態集合,它包含了長度屬性和排序,反轉,拼接等方法。

日期對象表示某個特定的時刻。可通過它的建構函式擷取瀏覽器原生系統時間,或指定特定的日期時間,它包含一組get方法可用於擷取日期對象中的某部分資訊,也可用它的一組get方法改變日期對象的某些方法,或通過它的一組to方法獲得日期對象的字串形式。

字串對象表示0個或多個Unicode字元的序列。它包含了length屬性,另有一組用于格式變換的方法和對其中的字元進行操作的方法。

全域對象包含一系列全域的屬性和全域的函數,這些屬性和函數可不經引用任何對象直接使用。

數學對象包含一組靜態唯讀屬性用於表示一些數學常數,另包含一組靜態方法用於實現常用的數學運算。

有關JavaScript常用本機物件小結小編就給大家介紹這麼多,希望對大家有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.