你知道多少原生JS——DOM節(jié)點(diǎn)的屬性

一、節(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)頁(yè)的絕對(duì)路徑

Node.ownerDocument  //返回當(dāng)前節(jié)點(diǎn)所在的頂層文檔對(duì)象,即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ǎng)h除節(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)。它會(huì)去除空的文本節(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對(duì)象所在的window對(duì)象
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  //返回頁(yè)面中所有表單元素
document.images  //返回頁(yè)面中所有圖片元素
document.embeds  //返回網(wǎng)頁(yè)中所有嵌入對(duì)象
document.scripts  //返回當(dāng)前文檔的所有腳本
document.styleSheets  //返回當(dāng)前網(wǎng)頁(yè)的所有樣式表

//文檔信息屬性
document.documentURI  //表示當(dāng)前文檔的網(wǎng)址
document.URL  //返回當(dāng)前文檔的網(wǎng)址
document.domain  //返回當(dāng)前文檔的域名
document.lastModified  //返回當(dāng)前文檔最后修改的時(shí)間戳
document.location  //返回location對(duì)象,提供當(dāng)前文檔的URL信息
document.referrer  //返回當(dāng)前文檔的訪問(wèn)來(lái)源
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   //用來(lái)操作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)。
document.elementFromPoint(x,y)  //返回位于頁(yè)面指定位置最上層的Element子節(jié)點(diǎn)。

(3)生成節(jié)點(diǎn)

document.createElement(tagName)   //用來(lái)生成HTML元素節(jié)點(diǎn)。
document.createTextNode(text)   //用來(lái)生成文本節(jié)點(diǎn)
document.createAttribute(name)  //生成一個(gè)新的屬性對(duì)象節(jié)點(diǎn),并返回它。
document.createDocumentFragment()  //生成一個(gè)DocumentFragment對(duì)象

(4)事件方法

js
document.createEvent(type)   //生成一個(gè)事件對(duì)象,該對(duì)象能被element.dispatchEvent()方法使用
document.addEventListener(type,listener,capture)  //注冊(cè)事件
document.removeEventListener(type,listener,capture)  //注銷事件
document.dispatchEvent(event)  //觸發(fā)事件

(5)其他

document.hasFocus()   //返回一個(gè)布爾值,表示當(dāng)前文檔之中是否有元素被激活或獲得焦點(diǎn)。
document.adoptNode(externalNode)  //將某個(gè)節(jié)點(diǎn),從其原來(lái)所在的文檔移除,插入當(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)的水平滾動(dòng)條向右滾動(dòng)的像素?cái)?shù)值,通過(guò)設(shè)置這個(gè)屬性可以改變?cè)氐臐L動(dòng)位置
Element.scrollTop   //返回元素節(jié)點(diǎn)的垂直滾動(dòng)向下滾動(dòng)的像素?cái)?shù)值
Element.offsetHeight   //返回元素的垂直高度(包含border,padding)
Element.offsetWidth    //返回元素的水平寬度(包含border,padding)
Element.offsetLeft    //返回當(dāng)前元素左上角相對(duì)于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è)對(duì)象,包含top,left,right,bottom,width,height // width、height 元素自身寬高
// top 元素上外邊界距窗口最上面的距離
// right 元素右外邊界距窗口最上面的距離
// bottom 元素下外邊界距窗口最上面的距離
// left 元素左外邊界距窗口最上面的距離
// width 元素自身寬(包含border,padding) 
// height 元素自身高(包含border,padding) 

getClientRects()   //返回當(dāng)前元素在頁(yè)面上形參的所有矩形。

// 元素在頁(yè)面上的偏移量  
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對(duì)象  
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)當(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)前頁(yè)面的焦點(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 //用來(lái)讀寫或刪除整個(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]

三、對(duì)象

3.1 Object對(duì)象

(1)生成實(shí)例對(duì)象

var o = new Object()

(2)屬性

Object.prototype   //返回原型對(duì)象

(3)方法

Object.keys(o)   //遍歷對(duì)象的可枚舉屬性
Object.getOwnPropertyName(o)   //遍歷對(duì)象不可枚舉的屬性

對(duì)象實(shí)例的方法

valueOf():返回當(dāng)前對(duì)象對(duì)應(yīng)的值。  
toString():返回當(dāng)前對(duì)象對(duì)應(yīng)的字符串形式。  
toLocaleString():返回當(dāng)前對(duì)象對(duì)應(yīng)的本地字符串形式。  
hasOwnProperty():判斷某個(gè)屬性是否為當(dāng)前對(duì)象自身的屬性,還是繼承自原型對(duì)象的屬性。 
isPrototypeOf():判斷當(dāng)前對(duì)象是否為另一個(gè)對(duì)象的原型。
propertyIsEnumerable():判斷某個(gè)屬性是否可枚舉。

3.2 Array對(duì)象

(1)生成實(shí)例對(duì)象

var a = new Array()

(2)屬性

a.length  //長(zhǎng)度

(3)Array.isArray()

Array.isArray(a)   //用來(lái)判斷一個(gè)值是否為數(shù)組

(4)Array實(shí)例的方法

a.valueof()   //返回?cái)?shù)組本身
a.toString()  //返回?cái)?shù)組的字符串形式
a.push(value,vlaue....)   //用于在數(shù)組的末端添加一個(gè)或多個(gè)元素,并返回添加新元素后的數(shù)組長(zhǎng)度。
pop()   //用于刪除數(shù)組的最后一個(gè)元素,并返回該元素
join()  //以參數(shù)作為分隔符,將所有數(shù)組成員組成一個(gè)字符串返回。如果不提供參數(shù),默認(rèn)用逗號(hào)分隔。
concat()  //用于多個(gè)數(shù)組的合并。它將新數(shù)組的成員,添加到原數(shù)組的尾部,然后返回一個(gè)新數(shù)組,原數(shù)組不變。
shift()  //用于刪除數(shù)組的第一個(gè)元素,并返回該元素。
unshift(value)  //用于在數(shù)組的第一個(gè)位置添加元素,并返回添加新元素后的數(shù)組長(zhǎng)度。
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()   //對(duì)數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。排序后,原數(shù)組將被改變。如果想讓sort方法按照自定義方式排序,可以傳入一個(gè)函數(shù)作為參數(shù),表示按照自定義方法進(jìn)行排序。該函數(shù)本身又接受兩個(gè)參數(shù),表示進(jìn)行比較的兩個(gè)元素。如果返回值大于0,表示第一個(gè)元素排在第二個(gè)元素后面;其他情況下,都是第一個(gè)元素排在第二個(gè)元素前面。
map()   //對(duì)數(shù)組的所有成員依次調(diào)用一個(gè)函數(shù),根據(jù)函數(shù)結(jié)果返回一個(gè)新數(shù)組。
map(elem,index,arr)   //map方法接受一個(gè)函數(shù)作為參數(shù)。該函數(shù)調(diào)用時(shí),map方法會(huì)將其傳入三個(gè)參數(shù),分別是當(dāng)前成員、當(dāng)前位置和數(shù)組本身。
forEach()   //遍歷數(shù)組的所有成員,執(zhí)行某種操作,參數(shù)是一個(gè)函數(shù)。它接受三個(gè)參數(shù),分別是當(dāng)前位置的值、當(dāng)前位置的編號(hào)和整個(gè)數(shù)組。
filter()   //參數(shù)是一個(gè)函數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回結(jié)果為true的成員組成一個(gè)新數(shù)組返回。該方法不會(huì)改變?cè)瓟?shù)組。
some()    //用來(lái)判斷數(shù)組成員是否符合某種條件。接受一個(gè)函數(shù)作為參數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回一個(gè)布爾值。該函數(shù)接受三個(gè)參數(shù),依次是當(dāng)前位置的成員、當(dāng)前位置的序號(hào)和整個(gè)數(shù)組。只要有一個(gè)數(shù)組成員的返回值是true,則整個(gè)some方法的返回值就是true,否則false。
every()   //用來(lái)判斷數(shù)組成員是否符合某種條件。接受一個(gè)函數(shù)作為參數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回一個(gè)布爾值。該函數(shù)接受三個(gè)參數(shù),依次是當(dāng)前位置的成員、當(dāng)前位置的序號(hào)和整個(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對(duì)象

(1)生成對(duì)象

var n = new Number()

(2)Number對(duì)象的屬性

Number.POSITIVE_INFINITY:正的無(wú)限,指向Infinity。  
Number.NEGATIVE_INFINITY:負(fù)的無(wú)限,指向-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對(duì)象實(shí)例的方法

toString()   //用來(lái)將一個(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ù)對(duì)應(yīng)的字符串。
toExponential()  //用于將一個(gè)數(shù)轉(zhuǎn)為科學(xué)計(jì)數(shù)法形式??蓚魅胍粋€(gè)參數(shù),參數(shù)表示小數(shù)點(diǎn)后有效數(shù)字的位數(shù),范圍為0到20,超出這個(gè)范圍,會(huì)拋出一個(gè)RangeError。
toPrecision()  //用于將一個(gè)數(shù)轉(zhuǎn)為指定位數(shù)的有效數(shù)字。

3.4 String 對(duì)象

(1)生成實(shí)例對(duì)象

var s = new String()

(2)String對(duì)象的屬性

s.length   //返回字符串的長(zhǎng)度

(3)方法

s.chatAt(index)   //返回指定位置的字符
s.fromCharCode()    //該方法的參數(shù)是一系列Unicode碼點(diǎn),返回對(duì)應(yīng)的字符串。
s.charCodeAt(index)    //返回給定位置字符的Unicode碼點(diǎn)(十進(jìn)制表示)
s.concat(s2)  //用于連接兩個(gè)字符串
s.slice(start,end)   //用于從原字符串取出子字符串并返回,不改變?cè)址?。第一個(gè)參數(shù)是子字符串的開始位置,第二個(gè)參數(shù)是子字符串的結(jié)束位置(不含該位置)。如果參數(shù)是負(fù)值,表示從結(jié)尾開始倒數(shù)計(jì)算的位置,即該負(fù)值加上字符串長(zhǎng)度。
s.substring(start,end)  //用于從原字符串取出子字符串并返回,不改變?cè)址?第一個(gè)參數(shù)表示子字符串的開始位置,第二個(gè)位置表示結(jié)束位置。
s.substr(start,length)   //用于從原字符串取出子字符串并返回,不改變?cè)址5谝粋€(gè)參數(shù)是子字符串的開始位置,第二個(gè)參數(shù)是子字符串的長(zhǎng)度。如果第一個(gè)參數(shù)是負(fù)數(shù),表示倒數(shù)計(jì)算的字符位置。如果第二個(gè)參數(shù)是負(fù)數(shù),將被自動(dòng)轉(zhuǎn)為0,因此會(huì)返回空字符串。
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è)新字符串,不改變?cè)址?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è)由分割出來(lái)的子字符串組成的數(shù)組。還可傳入第二個(gè)參數(shù),決定了返回?cái)?shù)組的成員數(shù)。

3.5 Math對(duì)象

(1)屬性

Math.E:常數(shù)e。  
Math.LN2:2的自然對(duì)數(shù)。  
Math.LN10:10的自然對(duì)數(shù)。  
Math.LOG2E:以2為底的e的對(duì)數(shù)。  
Math.LOG10E:以10為底的e的對(duì)數(shù)。  
Math.PI:常數(shù)Pi。  
Math.SQRT1_2:0.5的平方根。  
Math.SQRT2:2的平方根。

**(2)數(shù)學(xué)方法

Math.abs():返回參數(shù)的絕對(duì)值  
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為底的自然對(duì)數(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對(duì)象

(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è)屬性前面添加的空格(最多不超過(guò)10個(gè));如果是字符串(不超過(guò)10個(gè)字符),則該字符串會(huì)添加在每行前面。

JSON.parse()   //用于將JSON字符串轉(zhuǎn)化成對(duì)象。

3.7 console對(duì)象

(1)方法

console.log(text,text2,...)   //用于在console窗口輸出信息。它可以接受多個(gè)參數(shù),將它們的結(jié)果連接起來(lái)輸出。如果第一個(gè)參數(shù)是格式字符串(使用了格式占位符),console.log方法將依次用后面的參數(shù)替換占位符,然后再進(jìn)行輸出。
console.info()   //在console窗口輸出信息,同時(shí),會(huì)在輸出信息的前面,加上一個(gè)藍(lán)色圖標(biāo)。
console.debug()  //在console窗口輸出信息,同時(shí),會(huì)在輸出信息的前面,加上一個(gè)藍(lán)色圖標(biāo)。
console.warn()  //輸出信息時(shí),在最前面加一個(gè)黃色三角,表示警告;
console.error()  //輸出信息時(shí),在最前面加一個(gè)紅色的叉,表示出錯(cuò),同時(shí)會(huì)顯示錯(cuò)誤發(fā)生的堆棧
console.table()  //可以將復(fù)合類型的數(shù)據(jù)轉(zhuǎn)為表格顯示。
console.count()  //用于計(jì)數(shù),輸出它被調(diào)用了多少次。
console.dir()    //用來(lái)對(duì)一個(gè)對(duì)象進(jìn)行檢查(inspect),并以易于閱讀和打印的格式顯示。
console.dirxml()  //用于以目錄樹的形式,顯示DOM節(jié)點(diǎn)。
console.assert()  //接受兩個(gè)參數(shù),第一個(gè)參數(shù)是表達(dá)式,第二個(gè)參數(shù)是字符串。只有當(dāng)?shù)谝粋€(gè)參數(shù)為false,才會(huì)輸出第二個(gè)參數(shù),否則不會(huì)有任何結(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窗口會(huì)顯示“計(jì)時(shí)器名稱: 所耗費(fèi)的時(shí)間”。

console.profile()  //用來(lái)新建一個(gè)性能測(cè)試器(profile),它的參數(shù)是性能測(cè)試器的名字。
console.profileEnd()  //用來(lái)結(jié)束正在運(yùn)行的性能測(cè)試器。

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)前控制臺(tái)的所有輸出,將光標(biāo)回置到第一行。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,196評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,456評(píng)論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,955評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,195評(píng)論 0 287
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,725評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,608評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,802評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,048評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評(píng)論 1 281
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,424評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,762評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容