收集于網(wǎng)絡(luò),特此整理。
多看看API,總是沒壞處~
一、節(jié)點(diǎn)
1.1 節(jié)點(diǎn)屬性
Node.nodeName? //返回節(jié)點(diǎn)名稱,只讀
Node.nodeType? //返回節(jié)點(diǎn)類型的常數(shù)值,只讀
Node.nodeValue? //返回Text或Comment節(jié)點(diǎn)的文本值,只讀
Node.textContent? //返回當(dāng)前節(jié)點(diǎn)和它的所有后代節(jié)點(diǎn)的文本內(nèi)容,可讀寫
Node.baseURI? ? //返回當(dāng)前網(wǎng)頁的絕對路徑
Node.ownerDocument? //返回當(dāng)前節(jié)點(diǎn)所在的頂層文檔對象,即document
Node.nextSibling? //返回緊跟在當(dāng)前節(jié)點(diǎn)后面的第一個(gè)兄弟節(jié)點(diǎn)
Node.previousSibling? //返回當(dāng)前節(jié)點(diǎn)前面的、距離最近的一個(gè)兄弟節(jié)點(diǎn)
Node.parentNode? //返回當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)
Node.parentElement? //返回當(dāng)前節(jié)點(diǎn)的父Element節(jié)點(diǎn)
Node.childNodes? //返回當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)
Node.firstChild? //返回當(dāng)前節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)
Node.lastChild? //返回當(dāng)前節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)
?
//parentNode接口
Node.children? //返回指定節(jié)點(diǎn)的所有Element子節(jié)點(diǎn)
Node.firstElementChild? //返回當(dāng)前節(jié)點(diǎn)的第一個(gè)Element子節(jié)點(diǎn)
Node.lastElementChild? //返回當(dāng)前節(jié)點(diǎn)的最后一個(gè)Element子節(jié)點(diǎn)
Node.childElementCount? //返回當(dāng)前節(jié)點(diǎn)所有Element子節(jié)點(diǎn)的數(shù)目。
1.2 操作
Node.appendChild(node)? //向節(jié)點(diǎn)添加最后一個(gè)子節(jié)點(diǎn)
Node.hasChildNodes()? //返回布爾值,表示當(dāng)前節(jié)點(diǎn)是否有子節(jié)點(diǎn)
Node.cloneNode(true);? // 默認(rèn)為false(克隆節(jié)點(diǎn)), true(克隆節(jié)點(diǎn)及其屬性,以及后代)
Node.insertBefore(newNode,oldNode)? // 在指定子節(jié)點(diǎn)之前插入新的子節(jié)點(diǎn)
Node.removeChild(node)? //刪除節(jié)點(diǎn),在要刪除節(jié)點(diǎn)的父節(jié)點(diǎn)上操作
Node.replaceChild(newChild,oldChild)? //替換節(jié)點(diǎn)
Node.contains(node)? //返回一個(gè)布爾值,表示參數(shù)節(jié)點(diǎn)是否為當(dāng)前節(jié)點(diǎn)的后代節(jié)點(diǎn)。
Node.compareDocumentPosition(node)? //返回一個(gè)7個(gè)比特位的二進(jìn)制值,表示參數(shù)節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)的關(guān)系
Node.isEqualNode(noe)? //返回布爾值,用于檢查兩個(gè)節(jié)點(diǎn)是否相等。所謂相等的節(jié)點(diǎn),指的是兩個(gè)節(jié)點(diǎn)的類型相同、屬性相同、子節(jié)點(diǎn)相同。
Node.normalize()? //用于清理當(dāng)前節(jié)點(diǎn)內(nèi)部的所有Text節(jié)點(diǎn)。它會去除空的文本節(jié)點(diǎn),并且將毗鄰的文本節(jié)點(diǎn)合并成一個(gè)。
?
//ChildNode接口
Node.remove()? //用于刪除當(dāng)前節(jié)點(diǎn)
Node.before()? //
Node.after()
Node.replaceWith()
1.3 Document節(jié)點(diǎn)
1.3.1 Document節(jié)點(diǎn)的屬性
document.doctype? //
document.documentElement? //返回當(dāng)前文檔的根節(jié)點(diǎn)
document.defaultView? //返回document對象所在的window對象
document.body? //返回當(dāng)前文檔的<body>節(jié)點(diǎn)
document.head? //返回當(dāng)前文檔的<head>節(jié)點(diǎn)
document.activeElement? //返回當(dāng)前文檔中獲得焦點(diǎn)的那個(gè)元素。
?
//節(jié)點(diǎn)集合屬性
document.links? //返回當(dāng)前文檔的所有a元素
document.forms? //返回頁面中所有表單元素
document.images? //返回頁面中所有圖片元素
document.embeds? //返回網(wǎng)頁中所有嵌入對象
document.scripts? //返回當(dāng)前文檔的所有腳本
document.styleSheets? //返回當(dāng)前網(wǎng)頁的所有樣式表
?
//文檔信息屬性
document.documentURI? //表示當(dāng)前文檔的網(wǎng)址
document.URL? //返回當(dāng)前文檔的網(wǎng)址
document.domain? //返回當(dāng)前文檔的域名
document.lastModified? //返回當(dāng)前文檔最后修改的時(shí)間戳
document.location? //返回location對象,提供當(dāng)前文檔的URL信息
document.referrer? //返回當(dāng)前文檔的訪問來源
document.title? ? //返回當(dāng)前文檔的標(biāo)題
document.characterSet屬性返回渲染當(dāng)前文檔的字符集,比如UTF-8、ISO-8859-1。
document.readyState? //返回當(dāng)前文檔的狀態(tài)
document.designMode? //控制當(dāng)前文檔是否可編輯,可讀寫
document.compatMode? //返回瀏覽器處理文檔的模式
document.cookie? //用來操作Cookie
1.3.2 Document節(jié)點(diǎn)的方法
(1)讀寫方法
document.open()? //用于新建并打開一個(gè)文檔
document.close()? //不安比open方法所新建的文檔
document.write()? //用于向當(dāng)前文檔寫入內(nèi)容
document.writeIn()? //用于向當(dāng)前文檔寫入內(nèi)容,尾部添加換行符。
(2)查找節(jié)點(diǎn)
document.querySelector(selectors)? //接受一個(gè)CSS選擇器作為參數(shù),返回第一個(gè)匹配該選擇器的元素節(jié)點(diǎn)。
document.querySelectorAll(selectors)? //接受一個(gè)CSS選擇器作為參數(shù),返回所有匹配該選擇器的元素節(jié)點(diǎn)。
document.getElementsByTagName(tagName)? //返回所有指定HTML標(biāo)簽的元素
document.getElementsByClassName(className)? //返回包括了所有class名字符合指定條件的元素
document.getElementsByName(name)? //用于選擇擁有name屬性的HTML元素(比如<form>、<radio>、<img>、<frame>、<embed>和<object>等)
document.getElementById(id)? //返回匹配指定id屬性的元素節(jié)點(diǎn)。
(3)生成節(jié)點(diǎn)
document.createElement(tagName)? //用來生成HTML元素節(jié)點(diǎn)。
document.createTextNode(text)? //用來生成文本節(jié)點(diǎn)
document.createAttribute(name)? //生成一個(gè)新的屬性對象節(jié)點(diǎn),并返回它。
document.createDocumentFragment()? //生成一個(gè)DocumentFragment對象
(4)事件方法
document.createEvent(type)? //生成一個(gè)事件對象,該對象能被element.dispatchEvent()方法使用
document.addEventListener(type,listener,capture)? //注冊事件
document.removeEventListener(type,listener,capture)? //注銷事件
document.dispatchEvent(event)? //觸發(fā)事件
(5)其他
document.hasFocus()? //返回一個(gè)布爾值,表示當(dāng)前文檔之中是否有元素被激活或獲得焦點(diǎn)。
document.adoptNode(externalNode)? //將某個(gè)節(jié)點(diǎn),從其原來所在的文檔移除,插入當(dāng)前文檔,并返回插入后的新節(jié)點(diǎn)。
document.importNode(externalNode, deep)? //從外部文檔拷貝指定節(jié)點(diǎn),插入當(dāng)前文檔。
1.4 Element節(jié)點(diǎn)
1.4.1 Element節(jié)點(diǎn)的屬性
(1)特性屬性
Element.attributes? //返回當(dāng)前元素節(jié)點(diǎn)的所有屬性節(jié)點(diǎn)
Element.id? //返回指定元素的id屬性,可讀寫
Element.tagName? //返回指定元素的大寫標(biāo)簽名
Element.innerHTML? //返回該元素包含的HTML代碼,可讀寫
Element.outerHTML? //返回指定元素節(jié)點(diǎn)的所有HTML代碼,包括它自身和包含的的所有子元素,可讀寫
Element.className? //返回當(dāng)前元素的class屬性,可讀寫
Element.classList? //返回當(dāng)前元素節(jié)點(diǎn)的所有class集合
Element.dataset? //返回元素節(jié)點(diǎn)中所有的data-*屬性。
(2)尺寸屬性
Element.clientHeight? //返回元素節(jié)點(diǎn)可見部分的高度
Element.clientWidth? //返回元素節(jié)點(diǎn)可見部分的寬度
Element.clientLeft? //返回元素節(jié)點(diǎn)左邊框的寬度
Element.clientTop? //返回元素節(jié)點(diǎn)頂部邊框的寬度
Element.scrollHeight? //返回元素節(jié)點(diǎn)的總高度
Element.scrollWidth? //返回元素節(jié)點(diǎn)的總寬度
Element.scrollLeft? //返回元素節(jié)點(diǎn)的水平滾動條向右滾動的像素?cái)?shù)值,通過設(shè)置這個(gè)屬性可以改變元素的滾動位置
Element.scrollTop? //返回元素節(jié)點(diǎn)的垂直滾動向下滾動的像素?cái)?shù)值
Element.offsetHeight? //返回元素的垂直高度(包含border,padding)
Element.offsetWidth? ? //返回元素的水平寬度(包含border,padding)
Element.offsetLeft? ? //返回當(dāng)前元素左上角相對于Element.offsetParent節(jié)點(diǎn)的垂直偏移
Element.offsetTop? //返回水平位移
Element.style? //返回元素節(jié)點(diǎn)的行內(nèi)樣式
(3)節(jié)點(diǎn)相關(guān)屬性
Element.children? //包括當(dāng)前元素節(jié)點(diǎn)的所有子元素
Element.childElementCount? //返回當(dāng)前元素節(jié)點(diǎn)包含的子HTML元素節(jié)點(diǎn)的個(gè)數(shù)
Element.firstElementChild? //返回當(dāng)前節(jié)點(diǎn)的第一個(gè)Element子節(jié)點(diǎn)?
Element.lastElementChild? //返回當(dāng)前節(jié)點(diǎn)的最后一個(gè)Element子節(jié)點(diǎn)?
Element.nextElementSibling? //返回當(dāng)前元素節(jié)點(diǎn)的下一個(gè)兄弟HTML元素節(jié)點(diǎn)
Element.previousElementSibling? //返回當(dāng)前元素節(jié)點(diǎn)的前一個(gè)兄弟HTML節(jié)點(diǎn)
Element.offsetParent? //返回當(dāng)前元素節(jié)點(diǎn)的最靠近的、并且CSS的position屬性不等于static的父元素。
1.4.2 Element節(jié)點(diǎn)的方法
(1)位置方法
getBoundingClientRect()?
// getBoundingClientRect返回一個(gè)對象,包含top,left,right,bottom,width,height // width、height 元素自身寬高
// top 元素上外邊界距窗口最上面的距離
// right 元素右外邊界距窗口最上面的距離
// bottom 元素下外邊界距窗口最上面的距離
// left 元素左外邊界距窗口最上面的距離
// width 元素自身寬(包含border,padding)
// height 元素自身高(包含border,padding)
?
getClientRects()? //返回當(dāng)前元素在頁面上形參的所有矩形。
?
// 元素在頁面上的偏移量?
var rect = el.getBoundingClientRect()?
return {?
? top: rect.top + document.body.scrollTop,?
? left: rect.left + document.body.scrollLeft?
}
(2)屬性方法
Element.getAttribute():讀取指定屬性?
Element.setAttribute():設(shè)置指定屬性?
Element.hasAttribute():返回一個(gè)布爾值,表示當(dāng)前元素節(jié)點(diǎn)是否有指定的屬性?
Element.removeAttribute():移除指定屬性
(3)查找方法
Element.querySelector()?
Element.querySelectorAll()?
Element.getElementsByTagName()?
Element.getElementsByClassName()
(4)事件方法
Element.addEventListener():添加事件的回調(diào)函數(shù)?
Element.removeEventListener():移除事件監(jiān)聽函數(shù)?
Element.dispatchEvent():觸發(fā)事件
?
//ie8
Element.attachEvent(oneventName,listener)
Element.detachEvent(oneventName,listener)
?
// event對象?
var event = window.event||event;? ?
?
// 事件的目標(biāo)節(jié)點(diǎn)?
var target = event.target || event.srcElement;
?
// 事件代理?
ul.addEventListener('click', function(event) {?
? if (event.target.tagName.toLowerCase() === 'li') {?
? ? console.log(event.target.innerHTML)?
? }?
});
(5)其他
Element.scrollIntoView()? //滾動當(dāng)前元素,進(jìn)入瀏覽器的可見區(qū)域
?
//解析HTML字符串,然后將生成的節(jié)點(diǎn)插入DOM樹的指定位置。
Element.insertAdjacentHTML(where, htmlString);
Element.insertAdjacentHTML('beforeBegin', htmlString); // 在該元素前插入?
Element.insertAdjacentHTML('afterBegin', htmlString); // 在該元素第一個(gè)子元素前插入
Element.insertAdjacentHTML('beforeEnd', htmlString); // 在該元素最后一個(gè)子元素后面插入
Element.insertAdjacentHTML('afterEnd', htmlString); // 在該元素后插入
?
Element.remove()? //用于將當(dāng)前元素節(jié)點(diǎn)從DOM中移除
Element.focus()? //用于將當(dāng)前頁面的焦點(diǎn),轉(zhuǎn)移到指定元素上
二、CSS操作
(1)類名操作
//ie8以下
Element.className? //獲取元素節(jié)點(diǎn)的類名
Element.className += ' ' + newClassName? //新增一個(gè)類名
?
//判斷是否有某個(gè)類名
function hasClass(element,className){
? return new RegExp(className,'gi').test(element.className);
}
?
//移除class
function removeClass(element,className){
? element.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'),'');
}
?
//ie10
element.classList.add(className)? //新增
element.classList.remove(className)? //刪除
element.classList.contains(className)? //是否包含
element.classList.toggle(className)? //toggle class
(2)style操作
element.setAttribute('style','')
?
element.style.backgroundColor = 'red'
?
element.style.cssText //用來讀寫或刪除整個(gè)style屬性
?
element.style.setProperty(propertyName,value)? //設(shè)置css屬性
element.style.getPropertyValue(property)? //獲取css屬性
element.style.removeProperty(property)? //刪除css屬性
操作非內(nèi)聯(lián)樣式
//ie8
element.currentStyle[attrName]
//ie9+
window.getComputedStyle(el,null)[attrName]
window.getComputedStyle(el,null).getPropertyValue(attrName)
//偽類
window.getComputedStyle(el,':after')[attrName]
三、對象
3.1 Object對象
(1)生成實(shí)例對象
var o = new Object()
(2)屬性
Object.prototype? //返回原型對象
(3)方法
Object.keys(o)? //遍歷對象的可枚舉屬性
Object.getOwnPropertyName(o)? //遍歷對象不可枚舉的屬性
對象實(shí)例的方法
valueOf():返回當(dāng)前對象對應(yīng)的值。?
toString():返回當(dāng)前對象對應(yīng)的字符串形式。?
toLocaleString():返回當(dāng)前對象對應(yīng)的本地字符串形式。?
hasOwnProperty():判斷某個(gè)屬性是否為當(dāng)前對象自身的屬性,還是繼承自原型對象的屬性。
isPrototypeOf():判斷當(dāng)前對象是否為另一個(gè)對象的原型。
propertyIsEnumerable():判斷某個(gè)屬性是否可枚舉。
3.2 Array對象
(1)生成實(shí)例對象
var a = new Array()
(2)屬性
a.length? //長度
(3)Array.isArray()
Array.isArray(a)? //用來判斷一個(gè)值是否為數(shù)組
(4)Array實(shí)例的方法
a.valueof()? //返回?cái)?shù)組本身
a.toString()? //返回?cái)?shù)組的字符串形式
a.push(value,vlaue....)? //用于在數(shù)組的末端添加一個(gè)或多個(gè)元素,并返回添加新元素后的數(shù)組長度。
pop()? //用于刪除數(shù)組的最后一個(gè)元素,并返回該元素
join()? //以參數(shù)作為分隔符,將所有數(shù)組成員組成一個(gè)字符串返回。如果不提供參數(shù),默認(rèn)用逗號分隔。
concat()? //用于多個(gè)數(shù)組的合并。它將新數(shù)組的成員,添加到原數(shù)組的尾部,然后返回一個(gè)新數(shù)組,原數(shù)組不變。
shift()? //用于刪除數(shù)組的第一個(gè)元素,并返回該元素。
unshift(value)? //用于在數(shù)組的第一個(gè)位置添加元素,并返回添加新元素后的數(shù)組長度。
reverse()? //用于顛倒數(shù)組中元素的順序,返回改變后的數(shù)組
slice(start_index, upto_index);? //用于提取原數(shù)組的一部分,返回一個(gè)新數(shù)組,原數(shù)組不變。第一個(gè)參數(shù)為起始位置(從0開始),第二個(gè)參數(shù)為終止位置(但該位置的元素本身不包括在內(nèi))。如果省略第二個(gè)參數(shù),則一直返回到原數(shù)組的最后一個(gè)成員。負(fù)數(shù)表示倒數(shù)第幾個(gè)。
splice(index, count_to_remove, addElement1, addElement2, ...);? //用于刪除原數(shù)組的一部分成員,并可以在被刪除的位置添加入新的數(shù)組成員,返回值是被刪除的元素。第一個(gè)參數(shù)是刪除的起始位置,第二個(gè)參數(shù)是被刪除的元素個(gè)數(shù)。如果后面還有更多的參數(shù),則表示這些就是要被插入數(shù)組的新元素。
sort()? //對數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。排序后,原數(shù)組將被改變。如果想讓sort方法按照自定義方式排序,可以傳入一個(gè)函數(shù)作為參數(shù),表示按照自定義方法進(jìn)行排序。該函數(shù)本身又接受兩個(gè)參數(shù),表示進(jìn)行比較的兩個(gè)元素。如果返回值大于0,表示第一個(gè)元素排在第二個(gè)元素后面;其他情況下,都是第一個(gè)元素排在第二個(gè)元素前面。
map()? //對數(shù)組的所有成員依次調(diào)用一個(gè)函數(shù),根據(jù)函數(shù)結(jié)果返回一個(gè)新數(shù)組。
map(elem,index,arr)? //map方法接受一個(gè)函數(shù)作為參數(shù)。該函數(shù)調(diào)用時(shí),map方法會將其傳入三個(gè)參數(shù),分別是當(dāng)前成員、當(dāng)前位置和數(shù)組本身。
forEach()? //遍歷數(shù)組的所有成員,執(zhí)行某種操作,參數(shù)是一個(gè)函數(shù)。它接受三個(gè)參數(shù),分別是當(dāng)前位置的值、當(dāng)前位置的編號和整個(gè)數(shù)組。
filter()? //參數(shù)是一個(gè)函數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回結(jié)果為true的成員組成一個(gè)新數(shù)組返回。該方法不會改變原數(shù)組。
some()? ? //用來判斷數(shù)組成員是否符合某種條件。接受一個(gè)函數(shù)作為參數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回一個(gè)布爾值。該函數(shù)接受三個(gè)參數(shù),依次是當(dāng)前位置的成員、當(dāng)前位置的序號和整個(gè)數(shù)組。只要有一個(gè)數(shù)組成員的返回值是true,則整個(gè)some方法的返回值就是true,否則false。
every()? //用來判斷數(shù)組成員是否符合某種條件。接受一個(gè)函數(shù)作為參數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回一個(gè)布爾值。該函數(shù)接受三個(gè)參數(shù),依次是當(dāng)前位置的成員、當(dāng)前位置的序號和整個(gè)數(shù)組。所有數(shù)組成員的返回值都是true,才返回true,否則false。
reduce()? //依次處理數(shù)組的每個(gè)成員,最終累計(jì)為一個(gè)值。從左到右處理(從第一個(gè)成員到最后一個(gè)成員)
reduceRight()? //依次處理數(shù)組的每個(gè)成員,最終累計(jì)為一個(gè)值。從右到左(從最后一個(gè)成員到第一個(gè)成員)
indexOf(s)? //返回給定元素在數(shù)組中第一次出現(xiàn)的位置,如果沒有出現(xiàn)則返回-1。可以接受第二個(gè)參數(shù),表示搜索的開始位置
lastIndexOf()? //返回給定元素在數(shù)組中最后一次出現(xiàn)的位置,如果沒有出現(xiàn)則返回-1。
3.3 Number對象
(1)生成對象
var n = new Number()
(2)Number對象的屬性
Number.POSITIVE_INFINITY:正的無限,指向Infinity。?
Number.NEGATIVE_INFINITY:負(fù)的無限,指向-Infinity。?
Number.NaN:表示非數(shù)值,指向NaN。?
Number.MAX_VALUE:表示最大的正數(shù),相應(yīng)的,最小的負(fù)數(shù)為-Number.MAX_VALUE。?
Number.MIN_VALUE:表示最小的正數(shù)(即最接近0的正數(shù),在64位浮點(diǎn)數(shù)體系中為5e-324),相應(yīng)的,最接近0的負(fù)數(shù)為-Number.MIN_VALUE。?
Number.MAX_SAFE_INTEGER:表示能夠精確表示的最大整數(shù),即9007199254740991。?
Number.MIN_SAFE_INTEGER:表示能夠精確表示的最小整數(shù),即-9007199254740991。
(4)Number對象實(shí)例的方法
toString()? //用來將一個(gè)數(shù)值轉(zhuǎn)為字符串形式.可以接受一個(gè)參數(shù),表示輸出的進(jìn)制。如果省略這個(gè)參數(shù),默認(rèn)將數(shù)值先轉(zhuǎn)為十進(jìn)制,再輸出字符串;否則,就根據(jù)參數(shù)指定的進(jìn)制,將一個(gè)數(shù)字轉(zhuǎn)化成某個(gè)進(jìn)制的字符串。
toFixed()? //用于將一個(gè)數(shù)轉(zhuǎn)為指定位數(shù)的小數(shù),返回這個(gè)小數(shù)對應(yīng)的字符串。
toExponential()? //用于將一個(gè)數(shù)轉(zhuǎn)為科學(xué)計(jì)數(shù)法形式。可傳入一個(gè)參數(shù),參數(shù)表示小數(shù)點(diǎn)后有效數(shù)字的位數(shù),范圍為0到20,超出這個(gè)范圍,會拋出一個(gè)RangeError。
toPrecision()? //用于將一個(gè)數(shù)轉(zhuǎn)為指定位數(shù)的有效數(shù)字。
3.4 String 對象
(1)生成實(shí)例對象
var s = new String()
(2)String對象的屬性
s.length? //返回字符串的長度
(3)方法
s.chatAt(index)? //返回指定位置的字符
s.fromCharCode()? ? //該方法的參數(shù)是一系列Unicode碼點(diǎn),返回對應(yīng)的字符串。
s.charCodeAt(index)? ? //返回給定位置字符的Unicode碼點(diǎn)(十進(jìn)制表示)
s.concat(s2)? //用于連接兩個(gè)字符串
s.slice(start,end)? //用于從原字符串取出子字符串并返回,不改變原字符串。第一個(gè)參數(shù)是子字符串的開始位置,第二個(gè)參數(shù)是子字符串的結(jié)束位置(不含該位置)。如果參數(shù)是負(fù)值,表示從結(jié)尾開始倒數(shù)計(jì)算的位置,即該負(fù)值加上字符串長度。
s.substring(start,end)? //用于從原字符串取出子字符串并返回,不改變原字符串.第一個(gè)參數(shù)表示子字符串的開始位置,第二個(gè)位置表示結(jié)束位置。
s.substr(start,length)? //用于從原字符串取出子字符串并返回,不改變原字符串。第一個(gè)參數(shù)是子字符串的開始位置,第二個(gè)參數(shù)是子字符串的長度。如果第一個(gè)參數(shù)是負(fù)數(shù),表示倒數(shù)計(jì)算的字符位置。如果第二個(gè)參數(shù)是負(fù)數(shù),將被自動轉(zhuǎn)為0,因此會返回空字符串。
s.indexOf(s)? //返回給定元素在字符串中第一次出現(xiàn)的位置,如果沒有出現(xiàn)則返回-1。可以接受第二個(gè)參數(shù),表示搜索的開始位置
s.lastIndexOf()? //返回給定元素在字符串中最后一次出現(xiàn)的位置,如果沒有出現(xiàn)則返回-1。
s.trim()? //用于去除字符串兩端的空格,返回一個(gè)新字符串
s.toLowerCase()? //用于將一個(gè)字符串全部轉(zhuǎn)為小寫,返回一個(gè)新字符串,不改變原字符串。
s.toUpperCase()? //全部轉(zhuǎn)為大寫
s.localeCompare(s2)? //用于比較兩個(gè)字符串。它返回一個(gè)整數(shù),如果小于0,表示第一個(gè)字符串小于第二個(gè)字符串;如果等于0,表示兩者相等;如果大于0,表示第一個(gè)字符串大于第二個(gè)字符串。
s.match(regexp)? //用于確定原字符串是否匹配某個(gè)子字符串,返回一個(gè)數(shù)組,成員為匹配的第一個(gè)字符串。如果沒有找到匹配,則返回null。
s.search()? //返回值為匹配的第一個(gè)位置。如果沒有找到匹配,則返回-1。
s.replace(oldValue,newValue)? //用于替換匹配的子字符串,一般情況下只替換第一個(gè)匹配(除非使用帶有g(shù)修飾符的正則表達(dá)式)。
s.split()? //按照給定規(guī)則分割字符串,返回一個(gè)由分割出來的子字符串組成的數(shù)組。還可傳入第二個(gè)參數(shù),決定了返回?cái)?shù)組的成員數(shù)。
3.5 Math對象
(1)屬性
Math.E:常數(shù)e。?
Math.LN2:2的自然對數(shù)。?
Math.LN10:10的自然對數(shù)。?
Math.LOG2E:以2為底的e的對數(shù)。?
Math.LOG10E:以10為底的e的對數(shù)。?
Math.PI:常數(shù)Pi。?
Math.SQRT1_2:0.5的平方根。?
Math.SQRT2:2的平方根。
(2)數(shù)學(xué)方法
Math.abs():返回參數(shù)的絕對值?
Math.ceil():向上取整,接受一個(gè)參數(shù),返回大于該參數(shù)的最小整數(shù)。
Math.floor():向下取整?
Math.max(n,n1,...):可接受多個(gè)參數(shù),返回最大值?
Math.min(n,n1,..):可接受多個(gè)參數(shù),返回最小值?
Math.pow(n,e):指數(shù)運(yùn)算, 返回以第一個(gè)參數(shù)為底數(shù)、第二個(gè)參數(shù)為冪的指數(shù)值。
Math.sqrt():返回參數(shù)值的平方根。如果參數(shù)是一個(gè)負(fù)值,則返回NaN。?
Math.log():返回以e為底的自然對數(shù)值。
Math.exp():返回e的指數(shù),也就是常數(shù)e的參數(shù)次方。
Math.round():四舍五入?
Math.random():返回0到1之間的一個(gè)偽隨機(jī)數(shù),可能等于0,但是一定小于1。
(3)三角函數(shù)方法
Math.sin():返回參數(shù)的正弦?
Math.cos():返回參數(shù)的余弦?
Math.tan():返回參數(shù)的正切?
Math.asin():返回參數(shù)的反正弦(弧度值)?
Math.acos():返回參數(shù)的反余弦(弧度值)?
Math.atan():返回參數(shù)的反正切(弧度值)
3.6 JSON對象
(1)方法
JSON.stringify()?
//用于將一個(gè)值轉(zhuǎn)為字符串。該字符串應(yīng)該符合JSON格式,并且可以被JSON.parse方法還原。
//(JSON.stringify(obj, selectedProperties))還可以接受一個(gè)數(shù)組,作為第二個(gè)參數(shù),指定需要轉(zhuǎn)成字符串的屬性。
//還可以接受第三個(gè)參數(shù),用于增加返回的JSON字符串的可讀性。如果是數(shù)字,表示每個(gè)屬性前面添加的空格(最多不超過10個(gè));如果是字符串(不超過10個(gè)字符),則該字符串會添加在每行前面。
?
JSON.parse()? //用于將JSON字符串轉(zhuǎn)化成對象。
3.7 console對象
(1)方法
console.log(text,text2,...) //用于在console窗口輸出信息。它可以接受多個(gè)參數(shù),將它們的結(jié)果連接起來輸出。如果第一個(gè)參數(shù)是格式字符串(使用了格式占位符),console.log方法將依次用后面的參數(shù)替換占位符,然后再進(jìn)行輸出。
console.info() //在console窗口輸出信息,同時(shí),會在輸出信息的前面,加上一個(gè)藍(lán)色圖標(biāo)。
console.debug() //在console窗口輸出信息,同時(shí),會在輸出信息的前面,加上一個(gè)藍(lán)色圖標(biāo)。
console.warn() //輸出信息時(shí),在最前面加一個(gè)黃色三角,表示警告;
console.error() //輸出信息時(shí),在最前面加一個(gè)紅色的叉,表示出錯(cuò),同時(shí)會顯示錯(cuò)誤發(fā)生的堆棧
console.table() //可以將復(fù)合類型的數(shù)據(jù)轉(zhuǎn)為表格顯示。
console.count() //用于計(jì)數(shù),輸出它被調(diào)用了多少次。
console.dir() //用來對一個(gè)對象進(jìn)行檢查(inspect),并以易于閱讀和打印的格式顯示。
console.dirxml() //用于以目錄樹的形式,顯示DOM節(jié)點(diǎn)。
console.assert() //接受兩個(gè)參數(shù),第一個(gè)參數(shù)是表達(dá)式,第二個(gè)參數(shù)是字符串。只有當(dāng)?shù)谝粋€(gè)參數(shù)為false,才會輸出第二個(gè)參數(shù),否則不會有任何結(jié)果。
//這兩個(gè)方法用于計(jì)時(shí),可以算出一個(gè)操作所花費(fèi)的準(zhǔn)確時(shí)間。
console.time()
console.timeEnd()
//time方法表示計(jì)時(shí)開始,timeEnd方法表示計(jì)時(shí)結(jié)束。它們的參數(shù)是計(jì)時(shí)器的名稱。調(diào)用timeEnd方法之后,console窗口會顯示“計(jì)時(shí)器名稱: 所耗費(fèi)的時(shí)間”。
console.profile() //用來新建一個(gè)性能測試器(profile),它的參數(shù)是性能測試器的名字。
console.profileEnd() //用來結(jié)束正在運(yùn)行的性能測試器。
console.group()
console.groupend()
//上面這兩個(gè)方法用于將顯示的信息分組。它只在輸出大量信息時(shí)有用,分在一組的信息,可以用鼠標(biāo)折疊/展開。
console.groupCollapsed() //用于將顯示的信息分組,該組的內(nèi)容,在第一次顯示時(shí)是收起的(collapsed),而不是展開的。
console.trace() //顯示當(dāng)前執(zhí)行的代碼在堆棧中的調(diào)用路徑。
console.clear() //用于清除當(dāng)前控制臺的所有輸出,將光標(biāo)回置到第一行。