一、javascript是面向?qū)ο蟮木幊陶Z(yǔ)言
封裝:把相關(guān)的信息(無(wú)論數(shù)據(jù)或方法)存儲(chǔ)在對(duì)象中的能力
聚集:把一個(gè)對(duì)象存儲(chǔ)在另一個(gè)對(duì)象內(nèi)的能力
繼承:由另一個(gè)類(或多個(gè)類)得來類的屬性和方法的能力。
多態(tài):編寫能以多種形態(tài)運(yùn)行的函數(shù)或方法的能力
二、Array對(duì)象
使用單獨(dú)的變量名來存儲(chǔ)一系列的值。
2.1創(chuàng)建數(shù)組對(duì)象
var aValues = new Array();
var aValues = new Array(25);
var aColors = new Array("red","green","blue");
alert(aColors[1]);//輸出green
aColors[0] = "white"; //修改第一個(gè)元素的值
var aColors = new Array();
aColors[0] = "red";
aColors[1] = "green";
aColors[2] = "blue";
2.2使用字面量創(chuàng)建Array
var aColors = ["red","green","blue"];
aColors[3]="black";
2.3數(shù)組的長(zhǎng)度
var aColors = new Array("red","green","blue“);
alert(aColors.length);//輸出3
var aColors = new Array("red","green","blue“);
alert(aColors.length);//輸出3
aColors[20]="black";
alert(aColors.length);//輸出21
alert(aColors[3]);//輸出undefined
2.4數(shù)組的遍歷
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數(shù)組的屬性和方法
length 設(shè)置或返回?cái)?shù)組中元素的數(shù)目。
join() 通過指定的分隔符將數(shù)組的所有元素拼接成一個(gè)字符串。
reverse() 顛倒數(shù)組中元素的順序。
sort() 對(duì)數(shù)組的元素進(jìn)行排序
arrayObject.sort(sortby)
參數(shù)為可選的。規(guī)定排序規(guī)則。必須是函數(shù)。
返回值為對(duì)數(shù)組的引用。請(qǐng)注意,數(shù)組在原數(shù)組上進(jìn)行排序,不生成副本。
自定義排序規(guī)則
如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對(duì)順序的數(shù)字。
比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個(gè)小于 0 的值。若 a 等于 b,則返回 0。 若 a 大于 b,則返回一個(gè)大于 0 的值。
concat(Array array)
連接兩個(gè)或更多的數(shù)組,并返回結(jié)果。
Array slice(Number start,Number end)
從某個(gè)已有的數(shù)組返回選定的元素
var messages4 = messages3.slice(0, 5);
splice() 刪除元素,并向數(shù)組添加新元素。
messages4.splice(0, 2, "dddd"); //0表示開始刪除的元素位置,2表示刪除的長(zhǎng)度,添加的元素為dddd,在刪除位置添加
push() 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
pop() 刪除并返回?cái)?shù)組的最后一個(gè)元素
unshift() 向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
shift() 刪除并返回?cái)?shù)組的第一個(gè)元素
2.6數(shù)組的應(yīng)用
var messages = new Array("","","");
messages[0] = "beijing";
messages[1] = "shanghai";
messages[2] = "zhejiang";
messages[3] = "hunan";
for ( var index in messages) {
document.writeln("遍歷數(shù)組");
document.write(messages[index]);
document.write("<br>");
}
var s = messages.join(',');
document.writeln("join數(shù)組");
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>");
}
以上代碼輸出結(jié)果為:
遍歷數(shù)組 beijing
遍歷數(shù)組 shanghai
遍歷數(shù)組 zhejiang
遍歷數(shù)組 hunan
join數(shù)組 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對(duì)象
Date 對(duì)象用于獲得和處理日期和時(shí)間。
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); //依次表示年月日時(shí)分秒毫秒
3.2日期對(duì)象的方法
3.2.1toXXX方法組
toString() 把 Date 對(duì)象轉(zhuǎn)換為字符串。
toTimeString()
把 Date 對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串。
toDateString()
把 Date 對(duì)象的日期部分轉(zhuǎn)換為字符串。
toGMTString() 根據(jù)格林尼治時(shí)間,把 Date 對(duì)象轉(zhuǎn)換為字符串。
toUTCString() 根據(jù)世界時(shí),把 Date 對(duì)象轉(zhuǎn)換為字符串。
toLocaleString()
把 Date 對(duì)象轉(zhuǎn)換為本地時(shí)間格式字符串。
toLocaleTimeString()
把 Date 對(duì)象的時(shí)間部分轉(zhuǎn)換為本地時(shí)間格式字符串
toLocaleDateString()
把 Date 對(duì)象的日期部分轉(zhuǎn)換為本地時(shí)間格式字符串
3.2.2getXXX方法組
getDate() 從 Date 對(duì)象返回一個(gè)月中的某一天 (1 ~ 31)
getDay() 從 Date 對(duì)象返回一周中的某一天 (0 ~ 6)
getMonth() 從 Date 對(duì)象返回月份 (0 ~ 11)
getFullYear() 從 Date 對(duì)象以四位數(shù)字返回年份
getYear() 從 Date 對(duì)象以兩位或四位數(shù)字返回年份。
getHours() 返回 Date 對(duì)象的小時(shí) (0 ~ 23)
getMinutes() 返回 Date 對(duì)象的分鐘 (0 ~ 59)
getSeconds() 返回 Date 對(duì)象的秒數(shù) (0 ~ 59))
getMilliseconds()
返回 Date 對(duì)象的毫秒(0 ~ 999)
getTime() 返回 1970 年 1 月 1 日至今的毫秒數(shù)
3.2.3setXXX方法組
setDate() 設(shè)置 Date 對(duì)象中月的某一天 (1 ~ 31))
setMonth() 設(shè)置 Date 對(duì)象中月份 (0 ~ 11))
setFullYear() 設(shè)置 Date 對(duì)象中的年份(四位數(shù)字)
setYear() 設(shè)置 Date 對(duì)象中的年份(兩位或四位數(shù)字)。
setHours() 設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)
setMinutes() 設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)
setSeconds() 設(shè)置 Date 對(duì)象中的秒鐘 (0 ~ 59)
setMilliseconds()
設(shè)置 Date 對(duì)象中的毫秒 (0 ~ 999)
setTime() 通過向時(shí)間原點(diǎn)添加或減去指定毫秒數(shù)來計(jì)算日期和時(shí)間
四、String對(duì)象
String對(duì)象表示Unicode字符的序列。
String 對(duì)象的 length 屬性聲明了該字符串中的字符數(shù)。
String 類定義了大量操作字符串的方法。
4.1屬性
length 字符串的長(zhǎng)度
4.2與字符串格式控制相關(guān)的方法
big()、small() 用大號(hào)字體、小字號(hào)體顯示字符串。
bold() 使用粗體顯示字符串。
italics() 使用斜體顯示字符串。
strike() 使用刪除線來顯示字符串。
fontcolor() 使用指定的顏色來顯示字符串。
fontsize() 使用指定的尺寸來顯示字符串。
sub()、sup() 把字符串顯示為下標(biāo)、上標(biāo)。
toLowerCase()、toUpperCase()
把字符串轉(zhuǎn)換為小寫、大寫。
fixed() 以打字機(jī)文本顯示字符串。
link() 將字符串顯示為鏈接。
anchor() 創(chuàng)建 HTML 錨。
4.3與字符串內(nèi)容操作相關(guān)的方法
charAt() 返回在指定位置的字符。
charCodeAt() 返回在指定的位置的字符的 Unicode 編碼。
concat() 連接字符串。
fromCharCode()
從字符編碼創(chuàng)建一個(gè)字符串。
indexOf()、lastIndexOf()
從前向后檢索字符串。從后向前搜索字符串。
localeCompare()
用本地特定的順序來比較兩個(gè)字符串。
match() 找到一個(gè)或多個(gè)正在表達(dá)式的匹配。
replace()、search()
替換、檢索與正則表達(dá)式匹配的子串。
slice() 提取字符串的片斷。
split() 把字符串分割為字符串?dāng)?shù)組。
substr() 從起始索引號(hào)提取字符串中指定數(shù)目的字符。
substring() 提取字符串中兩個(gè)指定的索引號(hào)之間的字符。
4.4應(yīng)用
var strings = new String("AbcDEfG");
document.write("strings中的字符串值:");
document.write(strings);
document.write('<hr>');
document.write("strings.big()大號(hào)字體顯示:");
document.write(strings.big());
document.write('<hr>');
document.write("strings.small()小號(hào)字體顯示:");
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()下標(biāo)顯示:");
document.write("123"+ strings.sub());
document.write('<hr>');
document.write("strings.sup()上標(biāo)顯示:");
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()打字機(jī)文本顯示:");
document.write(strings.fixed());
document.write('<hr>');
document.write("strings.link()鏈接顯示:");
document.write(strings.link());
document.write('<hr>');
document.write("strings.anchor()創(chuàng)建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)靜態(tài)方法從字符編碼創(chuàng)建一個(gè)字符串:");
document.write(String.fromCharCode(98));
document.write('<hr>');
document.write("strings.indexOf('G', 1)從指定1處開始從前向后檢索字符,返回一個(gè)位置值:");
document.write(strings.indexOf('G', 1));
document.write('<hr>');
document.write("strings.lastIndexOf('G', 1)從指定1處開始從后向前檢索字符,找不到指定字符位置返回-1.返回一個(gè)位置值:");
document.write(strings.lastIndexOf('G', 1));
document.write('<hr>');
document.write("strings.localeCompare('ABcdEfG'):'ABcdEfG'從第0個(gè)位置開始比較'AbcDEfG',如果兩個(gè)字符串完全相同返回0,被比較的字符串ASSIC碼值要小,則返回-1,大則返回1。用本地特定的順序來比較兩個(gè)字符串:");
document.write(strings.localeCompare("ABcdEfG"));
document.write('<hr>');
document.write("strings.match('[a-z]{2}'):'AbcDEfG',返回值為bc,表示匹配到了。匹配不到返回null。找到一個(gè)或多個(gè)正則表達(dá)式的匹配:");
document.write(strings.match('[a-z]{2}'));
document.write('<hr>');
document.write("strings.search('[a-z]'):'AbcDEfG',返回值為下標(biāo)1,表示檢索到了。匹配不到返回-1。找到一個(gè)或多個(gè)正則表達(dá)式的匹配:");
document.write(strings.search('[a-z]'));
document.write('<hr>');
document.write('strings.slice(2, 3)參數(shù)1表示開始位置,參數(shù)2表示結(jié)束位置,不包括該位置。提取字符串:');
document.write(strings.slice(2, 3));
document.write('<hr>');
document.write('strings.substring(2, 3)參數(shù)1表示開始位置,參數(shù)2表示結(jié)束位置,不包括該位置。提取字符串:');
document.write(strings.substring(2, 3));
document.write('<hr>');
以上代碼輸出為
strings中的字符串值:AbcDEfG
strings.big()大號(hào)字體顯示:AbcDEfG
strings.small()小號(hào)字體顯示:AbcDEfG
strings.bold()粗體顯示:AbcDEfG
strings.italics()斜體顯示:AbcDEfG
strings.strike()刪除線顯示:AbcDEfG
strings.fontcolor('green')指定顏色顯示:AbcDEfG
strings.fontsize(10)指定大小顯示:AbcDEfG
strings.sub()下標(biāo)顯示:123AbcDEfG
strings.sup()上標(biāo)顯示:123AbcDEfG
strings.toLocaleLowerCase()小寫顯示:abcdefg
strings.toLocaleUpperCase()大寫顯示:ABCDEFG
strings.fixed()打字機(jī)文本顯示:AbcDEfG
strings.link()鏈接顯示:AbcDEfG
strings.anchor()創(chuàng)建HTML錨顯示:AbcDEfG
strings.charAt(2)返回指定位置的字符:c
strings.charCodeAt(2)返回指定位置的字符的unicode編碼:99
strings.concat('higkL')連接字符串:AbcDEfGhigkL
String.fromCharCode(98)靜態(tài)方法從字符編碼創(chuàng)建一個(gè)字符串:b
strings.indexOf('G', 1)從指定1處開始從前向后檢索字符,返回一個(gè)位置值:6
strings.lastIndexOf('G', 1)從指定1處開始從后向前檢索字符,找不到指定字符位置返回-1.返回一個(gè)位置值:-1
strings.localeCompare('ABcdEfG'):'ABcdEfG'從第0個(gè)位置開始比較'AbcDEfG',如果兩個(gè)字符串完全相同返回0,被比較的字符串ASSIC碼值要小,則返回-1,大則返回1。用本地特定的順序來比較兩個(gè)字符串:-1
strings.match('[a-z]{2}'):'AbcDEfG',返回值為bc,表示匹配到了。匹配不到返回null。找到一個(gè)或多個(gè)正則表達(dá)式的匹配:bc
strings.search('[a-z]'):'AbcDEfG',返回值為下標(biāo)1,表示檢索到了。匹配不到返回-1。找到一個(gè)或多個(gè)正則表達(dá)式的匹配:1
strings.slice(2, 3)參數(shù)1表示開始位置,參數(shù)2表示結(jié)束位置,不包括該位置。提取字符串:c
strings.substring(2, 3)參數(shù)1表示開始位置,參數(shù)2表示結(jié)束位置,不包括該位置。提取字符串:c
五、Math對(duì)象
Math對(duì)象是一個(gè)數(shù)學(xué)工具,包含很多表示數(shù)學(xué)常數(shù)的靜態(tài)只讀屬性和執(zhí)行數(shù)學(xué)運(yùn)算的靜態(tài)方法。
E 常量 e,自然對(duì)數(shù)的底數(shù) (約等于2.718)
LN2 返回 2 的自然對(duì)數(shù)(約等于0.693)
LN10 返回 10 的自然對(duì)數(shù)(約等于2.302)
LOG2E 返回以 2 為底的 e 的對(duì)數(shù) (約等于 1.414)
LOG10E 返回以 10 為底的 e 的對(duì)數(shù) (約等于0.434)
PI 返回圓周率 (約等于3.14159)
SQRT1_2 返回 2 的平方根除 1 (約等于 0.707)
SQRT2 返回 2 的平方根 (約等于 1.414)
abs(x) 返回?cái)?shù)的絕對(duì)值
cos(x)、acos(x)
返回?cái)?shù)的正弦、反余弦值
sin(x) 、asin(x)
返回?cái)?shù)的正弦、反正弦值
tan(x)、atan(x)
返回角的正切、返回 -PI/2 與 PI/2之間弧度數(shù)的反正切值
atan2(y,x) 返回從 x 軸到點(diǎn) (x,y) 的角度
ceil(x)、floor(x)
對(duì)一個(gè)數(shù)進(jìn)行上舍入。對(duì)一個(gè)數(shù)進(jìn)行下舍入。
exp(x)、log(x) 返回 e 的指數(shù)。返回?cái)?shù)的自然對(duì)數(shù)(底為e)
max(x,y)、min(x,y)
返回 x 和 y 中的最高值
pow(x,y) 返回 x 的 y 次冪
random() 返回 0 ~ 1 之間的隨機(jī)數(shù)
round(x) 把一個(gè)數(shù)四舍五入為最接近的整數(shù)
sqrt(x) 返回?cái)?shù)的平方根
六、Global對(duì)象
全局對(duì)象是預(yù)定義的對(duì)象,作為 JavaScript 的全局函數(shù)和全局屬性的占位符。
通過使用全局對(duì)象,可以訪問所有其他所有預(yù)定義的對(duì)象、函數(shù)和屬性。
全局對(duì)象不是任何對(duì)象的屬性,所以它沒有名稱。它既沒有構(gòu)造函數(shù),也無(wú)法實(shí)例化一個(gè)新的全局對(duì)象,它的所有成員都是靜態(tài)的。
6.1全局屬性
Infinity 代表正的無(wú)窮大的數(shù)值。
NaN 指示某個(gè)值是不是數(shù)字值。
undefined 指示未定義的值。
6.2全局函數(shù)
decodeURI() 解碼某個(gè)編碼的 URI。
decodeURIComponent()
解碼一個(gè)編碼的 URI 組件。
encodeURI() 把字符串編碼為 URI。
encodeURIComponent()
把字符串編碼為 URI 組件。
eval() 計(jì)算字符串,并把它作為腳本代碼來執(zhí)行。
isFinite() 檢查某個(gè)值是否為有窮大的數(shù)。
isNaN() 檢查某個(gè)值是否是數(shù)字。
isNaN() 函數(shù)通常用于檢測(cè) parseFloat() 和 parseInt() 的結(jié)果,以判斷它們表示的是否是合法的數(shù)字。當(dāng)然也可以用 isNaN() 函數(shù)來檢測(cè)算數(shù)錯(cuò)誤,比如用 0 作除數(shù)的情況。
parseFloat() 解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)。
parseInt() 解析一個(gè)字符串并返回一個(gè)整數(shù)。
七、小結(jié)
JavaScript是一門面向?qū)ο蟮恼Z(yǔ)言,具有自定義對(duì)象的能力。同時(shí),它可以基于已有對(duì)象編程,包含ECMAScript的本地對(duì)象,作為宿主的瀏覽器運(yùn)行環(huán)境提供一組瀏覽器對(duì)象和網(wǎng)頁(yè)提供的對(duì)象。
本地對(duì)象是一組由ECMAScript提供的引用類型,它何ECMAScript都會(huì)實(shí)現(xiàn)的一些對(duì)象,與特定的腳本宿主無(wú)關(guān)。
數(shù)組對(duì)象實(shí)際上是長(zhǎng)度動(dòng)態(tài)的集合,它包含了長(zhǎng)度屬性和排序,反轉(zhuǎn),拼接等方法。
日期對(duì)象表示某個(gè)特定的時(shí)刻??赏ㄟ^它的構(gòu)造函數(shù)獲取瀏覽器本機(jī)的系統(tǒng)時(shí)間,或指定特定的日期時(shí)間,它包含一組get方法可用于獲取日期對(duì)象中的某部分信息,也可用它的一組get方法改變?nèi)掌趯?duì)象的某些方法,或通過它的一組to方法獲得日期對(duì)象的字符串形式。
字符串對(duì)象表示0個(gè)或多個(gè)Unicode字符的序列。它包含了length屬性,另有一組用于格式變換的方法和對(duì)其中的字符進(jìn)行操作的方法。
全局對(duì)象包含一系列全局的屬性和全局的函數(shù),這些屬性和函數(shù)可不經(jīng)引用任何對(duì)象直接使用。
數(shù)學(xué)對(duì)象包含一組靜態(tài)只讀屬性用于表示一些數(shù)學(xué)常數(shù),另包含一組靜態(tài)方法用于實(shí)現(xiàn)常用的數(shù)學(xué)運(yùn)算。
有關(guān)JavaScript常用本地對(duì)象小結(jié)小編就給大家介紹這么多,希望對(duì)大家有所幫助!