閑余之際整理了一些Js初級詞匯,分享于大家,現(xiàn)炮制如下:
一.數(shù)組
1檢測
arr.isArray(要判斷的變量):判斷一個變量是否是數(shù)組
2數(shù)組方法
1arr.toString():數(shù)組轉(zhuǎn)為字符串,默認(rèn)使用逗號來分隔元素
2arr.join('指定符號'):使用指定符號分隔元素
3arr.push('新元素1','新元素2'):從數(shù)組末位的位置添加新元素,并返回數(shù)組的長度
4arr.pop():從數(shù)組末尾的位置刪除一個元素,并把刪除的元素返回出來
5arr.shift():刪除數(shù)組中的第一個元素,并返回刪除的元素
6arr.unshift('新元素1','新元素2'):從數(shù)組開始的位置添加新元素,并返回數(shù)組長度
7.數(shù)組排序方法(根據(jù)元素每一位的數(shù)值的大小順序排序)
1.arr.sort(排序函數(shù))升序(從小到大)排列元素
自定義排序函數(shù)
2.arr.reverse()降序(從大到小)排列元素
8.arr.concat(參數(shù)1,參數(shù)2,參數(shù)3):根據(jù)現(xiàn)有數(shù)組創(chuàng)建新數(shù)組,原數(shù)組不受影響(push是在原數(shù)組的基礎(chǔ)上進(jìn)行拼接)
9.slice(起始下標(biāo),結(jié)束下標(biāo)):根據(jù)當(dāng)前數(shù)組中一個或多個元素來創(chuàng)建另一個數(shù)組
只1參時表示開始直到結(jié)束
10.splice(起始下標(biāo)位置,要刪除的元素數(shù),要刪除的元素):數(shù)組元素的增、刪、改
11.indexOf(要查找的元素,要搜索的起始位置[可選]):獲取數(shù)組元素的下標(biāo)
二.字符串操作方法
1.字符串拼接
1.arr.concat('要拼接的字符串'):字符串拼接
2.+:字符串拼接
2.根據(jù)一個字符串創(chuàng)建另一個字符串
1.arr.slice(截取起始下標(biāo),結(jié)束下標(biāo)[可省]):
2.arr.substring(截取起始下標(biāo),結(jié)束下標(biāo)[可省]):
3.arr.substr(截取起始下標(biāo),截取個數(shù)[可省]):
3.獲取字符位置:返回第一個匹配元素的下標(biāo)
1.arr.indexOf(匹配字符,'搜索的起始位置'):從左向右搜索
1.arr.lastIndexOf(匹配字符,'搜索的起始位置'):從右向左搜索
4.刪除字符串前后的空格:arr.trim()
5.字符串大小寫轉(zhuǎn)換
1.大寫轉(zhuǎn)小寫:toLowerCase()
2.小寫轉(zhuǎn)大寫:toUpperCase()
6.把字符串類型的js語句轉(zhuǎn)為可執(zhí)行的js代碼:eval('字符串類型的js')
三.Math對象(數(shù)學(xué)函數(shù))
1.獲取一堆數(shù)據(jù)的最大最小值
1.獲取最大值:Math.max(數(shù)組)
2.獲取最大值:Math.min(數(shù)組)
2.取整方法:
1.向上取整:Math.ceil(數(shù)字)
1.向下取整:Math.floor(數(shù)字 )
1.四舍五入取整:Math.round(數(shù)字 )
3.產(chǎn)生隨機(jī)數(shù)
1.產(chǎn)生一個0-1之間的隨機(jī)數(shù):Math.random()
2.產(chǎn)生指定范圍內(nèi)的隨機(jī)數(shù):parseInt(Math.random()*(max-min)+min)
4.數(shù)學(xué)計算
1.次方運算:pow(x,y):x的y次方
2.開平方運算:sqrt(num)
3.絕對值:abs(num)
BOM
四.window對象的系統(tǒng)方法
1.獲取主窗口的位置
1.screenLeft/X
2.screenTop/Y
2.窗口大小
1.瀏覽器寬度:window.innerWidth
2.瀏覽器高度:window.innerHeight
3.打開新窗口:window.open(參數(shù)1,參數(shù)2,參數(shù)3)
1.參數(shù)1:要打開頁面的url字符串
2.參數(shù)2:在參2指定的窗口或框架內(nèi)打開該頁面.若無,則自動新建.該參數(shù)為_self._parent._top._blank
3.(拓展):設(shè)置打開窗口的樣式
4.定時器
1.間隔執(zhí)行代碼
a.setInterval(間隔執(zhí)行的函數(shù),間隔的時間),返回該定時器的ID
b.clearInterval(要取消的間隔定時器的ID)
2.延時執(zhí)行代碼
a.setTimeout(延遲執(zhí)行的函數(shù),延遲的時間)
b.clearTimeout(要取消延遲定時器的ID)
5.系統(tǒng)對話框
1.alert()
2.confirm()
3.prompt('給用戶提示的文字','輸入框中的默認(rèn)文字')
五.location對象
1.location對象的屬性
1.location.hash:獲取到url中#后的字符串
2.host:返回服務(wù)器域名和端口號
3.hostname:返回不包含端口號的域名
4.href:返回完整的url
5.toString():同上
6.pathname:獲取URL的目錄名
7.port:獲取端口號
8.protocol:返回協(xié)議名
9.search:返回get請求參數(shù)
2.頁面URL設(shè)置
1.location.assign('url字符串')打開并保存在歷史記錄中
2.href='url字符串' 同上
3.window.location='url字符串'同上
4.replace('url字符串')不會被保存歷史記錄,無法點擊后退按鈕
5.reload()無參時,從從本地緩存中加載;參為true,從服務(wù)器重新加載
六.screen對象:屏幕對象 常用屬性(一般用于獲取移動設(shè)備的屏幕尺寸信息)
1.screen.availHeight:屏高減去系統(tǒng)部件高度
2.screen.availWidth:屏寬減去系統(tǒng)部件寬度
3.screen.height:屏高
4.screen.width:屏寬
七.history對象:保存上網(wǎng)歷史記錄
1.history.go(數(shù)值)在歷史記錄中跳轉(zhuǎn);-1后退一頁;1前進(jìn)一頁
2.history.back():后退一頁
2.history.forword():前進(jìn)一頁
DOM
八.節(jié)點遍歷
1.childNodes:獲取當(dāng)前節(jié)點的所有子節(jié)點
2.firstChild:獲取當(dāng)前元素節(jié)點的第一個子節(jié)點
3.lastChild:最后一個子節(jié)點
4.ownerDocument:獲取當(dāng)前節(jié)點文檔根節(jié)點,相當(dāng)于document
5.parentNode:獲取當(dāng)前節(jié)點的父節(jié)點
6.previousSibling:獲取當(dāng)前節(jié)點的前一個同級節(jié)點
7.nextSibling:獲取當(dāng)前節(jié)點的后一個同級節(jié)點
九.標(biāo)簽節(jié)點的操作方法
1.document.createElement(標(biāo)簽節(jié)點):創(chuàng)建一個標(biāo)簽節(jié)點
2.document.createTextNode(文本節(jié)點)
3.appendChild(節(jié)點):把節(jié)點當(dāng)做另一個節(jié)點的子節(jié)點,拼接在最后的位置
4.insertBefore(插入的新節(jié)點,原節(jié)點):插入
5.replaceChild(新節(jié)點,被替換的老節(jié)點):替換
6.div.removeChild(p):移出當(dāng)前節(jié)點下的指定子節(jié)點
7.div.remove():移出當(dāng)前節(jié)點
十.節(jié)點和節(jié)點層次關(guān)系
1.節(jié)點種類(常用的種類)(nodeType,nodeName,nodeValue)
1.元素節(jié)點(1,標(biāo)簽名,undefined或null)
2.文本節(jié)點(3,#text,文本本身)
3.屬性節(jié)點(2,該標(biāo)簽屬性的名字,屬性的值)
2.document節(jié)點:表示整個文檔的節(jié)點
常用屬性: 1.document.body
2..title:獲取設(shè)置標(biāo)題
3.網(wǎng)頁請求相關(guān)屬性: a.URL:獲取完整URL
b.domain:域名
十一.文檔寫入:后調(diào)用會覆蓋
1.document.write()
2.document.writeln()結(jié)尾部分有空格
十二.查找元素
1..getElementById()
2..getElementsByTagName()
3..getElementsByName()
4.獲取元素中屬性值
1.element.getAttributeNode('屬性名')
2.element.attributes['屬性名']
3.element.attributes.getNamedItem('屬性名')
5.設(shè)置元素中的屬性值
1.element.setAttribute('屬性名','屬性值')
十三.標(biāo)簽元素的屬性
1.tagName:獲取元素節(jié)點的標(biāo)簽名
2.innerHTML:獲取設(shè)置元素節(jié)點里的內(nèi)容(內(nèi)容可以包含html標(biāo)簽),只能獲取到標(biāo)簽里的內(nèi)容
3.outerHTML:除了內(nèi)容外,還包括當(dāng)前選中標(biāo)簽本身
4.innerText:只能設(shè)置獲取文本內(nèi)容,無法獲取子標(biāo)簽
5.style.CSS只能獲取到行內(nèi)樣式表
十四.鼠標(biāo)點擊事件對象的常用屬性
1.clientX\clientY:獲取到的是鼠標(biāo)點擊的位置距離瀏覽器內(nèi)部左邊框和頂邊框的間距;
2.offsetX\offsetY:獲取到的鼠標(biāo)點擊的位置距離當(dāng)前點擊標(biāo)簽的左邊框和頂邊框的間距;
3.screenX\screenY:獲取到的鼠標(biāo)點擊的位置距離屏幕的左邊框和頂邊框的間距;
4.pageX\pageY:獲取到的鼠標(biāo)點擊的位置距離整個文檔(頁面)的左邊框和頂邊框的間距;
十五.鼠標(biāo)事件
1.onclick按下并抬起
2.onmousedown按下
3.onmouseup抬起
4.onmousemove標(biāo)簽內(nèi)移動
5.ondblclick雙擊
6.oncontextmenu右鍵菜單
十六.鍵盤事件
1.onkeydown:按下
2.onkeyup:抬起
3.keycode:標(biāo)識碼
十七.表單事件
1.onfocus:獲取焦點
2.onblur:失去焦點
3.onsubmit:提交事件(給表單,非表單元素)
a.可以阻止默認(rèn)時間,通過return false,但僅適用于on
b.ev.preventDefault()阻止默認(rèn).存在兼容問題
十八.事件冒泡
1.取消時間冒泡
a.eventObj.cancelBubble = true;
b.eventObj.stopPropagation();
2.addEventListener('click',function(){},參數(shù)3)
a.參數(shù)為true,事件捕捉
b參數(shù)為false,事件冒泡(默認(rèn))
3.事件綁定方法的區(qū)別
a.on給同一時間綁定兩次事件,后覆蓋
b.addEventListener()不會覆蓋,存在兼容,可用removeEventListener()移出事件
十九.正則表達(dá)式方法
1.test()獲取匹配字符,返回布爾值
2.exec()獲取匹配字符并返回
二十.字符串方法
1.str.search()返回出現(xiàn)位置,若無,返回-1
2.str.replace(/被替換的詞/,'要替換的詞')
3.str.match()找到匹配并返回
4.修飾詞
a.i
b.g
5.小括號
a.(abc)
b.(abc|bcd)
6.中括號
a[12345]
b[0-9]
c[a-z]
d[A-z]
e[0-9A-z]
7.元字符
a\w
b\W
c\d
d\D
e\s
f\S
g\b
h\B
8.量詞
a^n
bn?
c{x}
dn+
e{x,y}