一、正則對(duì)象
1、RegExp 對(duì)象的創(chuàng)建方式
? var reg=new?RegExp ("表達(dá)式");? //開(kāi)發(fā)中基本不用
var reg=/^表達(dá)式$/;? //直接量創(chuàng)建,開(kāi)發(fā)中常用
2、注意:
直接量創(chuàng)建存在辯解,^代表開(kāi)始,$代表結(jié)束
直接量創(chuàng)建的對(duì)象,正則別用引號(hào),要用/..../?
3、test方法
格式:正則對(duì)象.test(String);
用來(lái)校驗(yàn)字符串是否匹配正則,全部字符匹配返回ture,否則返回false
4、正則對(duì)象使用注意事項(xiàng)
/^表達(dá)式$/ 只要有無(wú)法成立正則的字符存在即為false,前部符合為true,試用于表單校驗(yàn)
/表達(dá)式/? 只要有成立的正則的字符存在即為true,全部不符合為false,適用于字符串查找,替換
二、js數(shù)組對(duì)象
1、 js數(shù)組的特征
js數(shù)組可以看做java中的ArrayList集合
? 數(shù)組中的每一個(gè)成員沒(méi)有類(lèi)型限制,即可以存放任意類(lèi)型
數(shù)組的長(zhǎng)度可以自動(dòng)修改
2、js數(shù)組的四中創(chuàng)建方式
var arr=[1,2,3,4,"a",true]? ?//常用的js數(shù)組
var arr=new Array();? ? //數(shù)組的長(zhǎng)度默認(rèn)為0
var arr= new Array(4);? //數(shù)組的長(zhǎng)度為4,每個(gè)元素是undefined ,顯示時(shí)有可能為空串
var arr= new Array(1,2);? //數(shù)組元素是1和2
3、js數(shù)組的常用屬性/方法
lenght? 設(shè)置或返回?cái)?shù)組中元素的數(shù)目
join()? ? 把數(shù)組的所有元素放入一個(gè)字符串,元素通過(guò)制定的分隔符進(jìn)行分隔
pop() 刪除并返回?cái)?shù)組的最后一個(gè)元素
push() 向數(shù)組的末尾添加一個(gè)元素,并返回新的長(zhǎng)度
reverse()? 顛倒數(shù)組中元素的順序(物理翻轉(zhuǎn),就是把元素的下標(biāo)進(jìn)行互換)
0? 1? 2??
a? b? ?c
c? b? ?a
三、全局函數(shù)(global)
執(zhí)行eval() 計(jì)算javaScript字符串,并把它作為甲苯代碼來(lái)執(zhí)行
作用:用于增強(qiáng)程序的擴(kuò)展性
注:只可以傳遞原始數(shù)據(jù)類(lèi)型String,傳遞String對(duì)象無(wú)作用
編碼解碼
URL/URI 編碼: 中文及特殊符號(hào)會(huì)被編碼為“%16進(jìn)制”的格式
作用:保證數(shù)據(jù)傳遞的完整性
encodeURI()? 把字符串編碼為URL
decodeUPI() 解碼某個(gè)編碼的URI
URI和URL的區(qū)別
URI是同意資源標(biāo)識(shí)符,標(biāo)識(shí)資源的詳細(xì)名稱(chēng),包含資源名
URL是統(tǒng)一資源定位器,定位資源的網(wǎng)絡(luò)位置,包含http://
資源:可以通過(guò)瀏覽器訪問(wèn)的信息同城為資源(圖片、文本、HTML、CSS)
例如:
http://www.beicai.com/? ?是URL
/index.html? ? ? ? ? ? ? ? ? ? ?是URI
http://www.beicai.com/index.html? ? 既是URL,也是URI
四、字符串轉(zhuǎn)數(shù)字
parselnt()解析一個(gè)字符串并返回一個(gè)整數(shù),小數(shù)點(diǎn)后面部分不關(guān)注
parseFloat()解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)
注:
11.5a55? parseInt? 結(jié)果11? ?parseFloat? 結(jié)果11.5
b22.8? 停止運(yùn)轉(zhuǎn),返回NaN(Not a Number)
五、自定義函數(shù)和自定義方法
1、函數(shù)簡(jiǎn)述及作用
作用: 增強(qiáng)代碼的復(fù)用性
?函數(shù)格式:??
function? 方法名 (參數(shù)列表){
? ?函數(shù)體
}
函數(shù)定義必須要用小寫(xiě)的function
無(wú)需定義返回值類(lèi)型,直接在function后面寫(xiě)方法名
參數(shù)的定義無(wú)需使用var關(guān)鍵字,否則報(bào)錯(cuò)
函數(shù)體,return可以不寫(xiě),也可以return具體值,或者僅僅寫(xiě)return; 結(jié)束
2、函數(shù)使用的注意事項(xiàng)
(1)js函數(shù)調(diào)用執(zhí)行完畢一定有返回值,值及類(lèi)型根據(jù)return決定,如果未return,返回值未undefined
(2)js函數(shù)同名,則不存在方法重載,只有方法相互覆蓋,最后定義的函數(shù)覆蓋之前的定義
(3)js僅根據(jù)方法名來(lái)調(diào)用函數(shù),即使實(shí)參與函數(shù)的形象不匹配,也不會(huì)影響正常調(diào)用
六、自定義對(duì)象
function構(gòu)造函數(shù)
無(wú)形參格式:
function 對(duì)象名(){
函數(shù)體
}
帶參數(shù)格式:
function 對(duì)象名(參數(shù)列表){
函數(shù)體
}
有屬性格式:
function 對(duì)象名(){
this.屬性名1=屬性值1;
this.屬性名2=屬性值2;
}
無(wú)需定義,自由的對(duì)對(duì)象賦予屬性及值
? 對(duì)象.屬性名1=屬性值1;
? 對(duì)象.屬性名2=屬性值2;
應(yīng)用場(chǎng)景:適用于對(duì)象的構(gòu)建及代碼復(fù)用
2、對(duì)象直接量
格式: var 對(duì)象名 = {屬性名1:"屬性值1",屬性名2="屬性值2",....}
注:該方式直接創(chuàng)建出實(shí)例對(duì)象,無(wú)需構(gòu)造函數(shù),無(wú)需再new創(chuàng)建實(shí)例對(duì)象,直接適用即可
應(yīng)用場(chǎng)景:適用于快速常見(jiàn)實(shí)例對(duì)象及數(shù)據(jù)封裝
七、BOM對(duì)象(瀏覽器對(duì)象模型)
1、BOM對(duì)象是什么,有什么用?
作用:用來(lái)執(zhí)行瀏覽器的相關(guān)操作
一般情況下,window代表BOM對(duì)象
window對(duì)象是js的內(nèi)置對(duì)象,使用window對(duì)象調(diào)用方法時(shí)可以省略window不寫(xiě)
例如:window.alert() 只寫(xiě)為 alert();
2、消息框
alert()? 警告框 用來(lái)彈出警告消息
注: 不同瀏覽器顯示的組件樣式不同
confirm()確認(rèn)框,用于告知用戶信息并收集用戶的選擇
?該方法有返回值,用戶通過(guò)選擇確定或者取消,方法結(jié)束會(huì)返回boolean類(lèi)型的值
確定返回true
取消返回false
<!DOCTYPE html>
<html>
<head>
<title>js正則對(duì)象</title>
<meta charset="utf-8" />
<style type="text/css">
</style>
</head>
<body>
<script type="text/javascript">
function jia(a,b,c){
if(c=='+'){
return a+b;
}else if(c=='-'){
return a-b;
}else if(c=='*'){
return a*b;
}else if(c=='/'){
return a/b;
}else{
return;
}
}
var result = jia(3,2,'-');
alert(result);
</script>
</body>
</html>