整理了Javascript的常见API一部分有趣的实验性API还有HTML 5 API并添加了简要说明,希望对小伙伴们有帮助

Javascript API篇


一、节点

1.1 节点属性

Node 是一个接口,各种类型的 DOM API 对象会从这个接口继承。它允许我们使用相似的方式对待这些不同类型的对象;比如,
继承同一组方法,或者用同样的方式测试。
    Node.nodeName   //返回节点名称,只读
    Node.nodeType   //返回节点类型的常数值,只读
    Node.nodeValue  //返回Text或Comment节点的文本值,只读
    Node.textContent  //返回当前节点和它的所有后代节点的文本内容,可读写
    Node.baseURI    //返回当前网页的绝对路径
    
    Node.ownerDocument  //返回当前节点所在的顶层文档对象,即document
    Node.nextSibling  //返回紧跟在当前节点后面的第一个兄弟节点
    Node.previousSibling  //返回当前节点前面的、距离最近的一个兄弟节点
    Node.parentNode   //返回当前节点的父节点
    Node.parentElement  //返回当前节点的父Element节点
    Node.childNodes   //返回当前节点的所有子节点
    Node.firstChild  //返回当前节点的第一个子节点
    Node.lastChild   //返回当前节点的最后一个子节点
    
    //parentNode接口
    Node.children  //返回指定节点的所有Element子节点
    Node.firstElementChild  //返回当前节点的第一个Element子节点
    Node.lastElementChild   //返回当前节点的最后一个Element子节点
    Node.childElementCount  //返回当前节点所有Element子节点的数目。

1.2 操作

    Node.appendChild(node)   //向节点添加最后一个子节点
    Node.hasChildNodes()   //返回布尔值,表示当前节点是否有子节点
    Node.cloneNode(true);  // 默认为false(克隆节点), true(克隆节点及其属性,以及后代)
    Node.insertBefore(newNode,oldNode)  // 在指定子节点之前插入新的子节点
    Node.removeChild(node)   //删除节点,在要删除节点的父节点上操作
    Node.replaceChild(newChild,oldChild)  //替换节点
    Node.contains(node)  //返回一个布尔值,表示参数节点是否为当前节点的后代节点。
    Node.compareDocumentPosition(node)   //返回一个7个比特位的二进制值,表示参数节点和当前节点的关系
    Node.isEqualNode(noe)  //返回布尔值,用于检查两个节点是否相等。所谓相等的节点,指的是两个节点的类型相同、属性相同、子节点相同。
    Node.normalize()   //用于清理当前节点内部的所有Text节点。它会去除空的文本节点,并且将毗邻的文本节点合并成一个。
ChildNode 混合了所有(拥有父对象) Node 对象包含的公共方法和属性。其由 Element、DocumentType 和 CharacterData 对象实现。实验特性 兼容性参见:https://developer.mozilla.org/zh-CN/docs/Web/API/ChildNode
    //ChildNode接口
    Node.remove()  //将 ChildNode 从其父节点的子节点列表中移除。
    Node.before()  //在其父节点的子节点列表中插入一些 Node 或 DOMString 对象。插入位置为 ChildNode 之前。DOMString 对象会被以 Text 的形式插入。
    Node.after() //在其父节点的子节点列表中插入一些Node 或 DOMString 对象。插入位置为 ChildNode 之后。DOMString 对象会被以 Text 的形式插入。
    Node.replaceWith() //使用一组 Node 或 DOMString 对象替换 ChildNode。DOMString 对象会以 Text 的形式插入。

1.3 Document节点

Document 接口表示任何在浏览器中载入的网页,并作为网页内容的入口,也就是DOM 树。DOM 树包含了像
、 这样的元素,以及大量其他元素。它向网页文档本身提供了全局操作功能,能解决如何获取页面的 URL
,如何在文档中创建一个新的元素这样的问题。
document api
document api

Document 接口描述了任何类型的文档的通用属性与方法。根据不同的文档类型(例如HTML、XML、SVG,...),还能使用更多
API:使用 "text/html" 作为内容类型(content type)的 HTML 文档,还实现了 HTMLDocument
接口,而 XML 和 SVG 文档则(额外)实现了 XMLDocument 接口。

1.3.1 Document节点的属性

    document.doctype   //
    document.documentElement  //返回当前文档的根节点
    document.defaultView   //返回document对象所在的window对象
    document.body   //返回当前文档的<body>节点
    document.head   //返回当前文档的<head>节点
    document.activeElement  //返回当前文档中获得焦点的那个元素。
    
    //节点集合属性
    document.links  //返回当前文档的所有a元素
    document.forms  //返回页面中所有表单元素
    document.images  //返回页面中所有图片元素
    document.embeds  //返回网页中所有嵌入对象
    document.scripts  //返回当前文档的所有脚本
    document.styleSheets  //返回当前网页的所有样式表
    
    //文档信息属性
    document.documentURI  //表示当前文档的网址
    document.URL  //返回当前文档的网址
    document.domain  //返回当前文档的域名
    document.lastModified  //返回当前文档最后修改的时间戳
    document.location  //返回location对象,提供当前文档的URL信息
    document.referrer  //返回当前文档的访问来源
    document.title    //返回当前文档的标题
    document.characterSet属性返回渲染当前文档的字符集,比如UTF-8、ISO-8859-1。
    document.readyState  //返回当前文档的状态
    document.designMode  //控制当前文档是否可编辑,可读写
    document.compatMode  //返回浏览器处理文档的模式
    document.cookie   //用来操作Cookie

1.3.2 Document节点的方法

(1)读写方法

    document.open()   //用于新建并打开一个文档
    document.close()   //不安比open方法所新建的文档
    document.write()   //用于向当前文档写入内容
    document.writeIn()  //用于向当前文档写入内容,尾部添加换行符。
(2)查找节点
    document.querySelector(selectors)   //接受一个CSS选择器作为参数,返回第一个匹配该选择器的元素节点。
    document.querySelectorAll(selectors)  //接受一个CSS选择器作为参数,返回所有匹配该选择器的元素节点。
    document.getElementsByTagName(tagName)  //返回所有指定HTML标签的元素
    document.getElementsByClassName(className)   //返回包括了所有class名字符合指定条件的元素
    document.getElementsByName(name)   //用于选择拥有name属性的HTML元素(比如<form>、<radio>、<img>、<frame>、<embed>和<object>等)
    document.getElementById(id)   //返回匹配指定id属性的元素节点。
    document.elementFromPoint(x,y)  //返回位于页面指定位置最上层的Element子节点。
(3)生成节点
    document.createElement(tagName)   //用来生成HTML元素节点。
    document.createTextNode(text)   //用来生成文本节点
    document.createAttribute(name)  //生成一个新的属性对象节点,并返回它。
    document.createDocumentFragment()  //生成一个DocumentFragment对象
(4)事件方法
    document.createEvent(type)   //生成一个事件对象,该对象能被element.dispatchEvent()方法使用
    document.addEventListener(type,listener,capture)  //注册事件
    document.removeEventListener(type,listener,capture)  //注销事件
    document.dispatchEvent(event)  //触发事件
(5)其他
    document.hasFocus()   //返回一个布尔值,表示当前文档之中是否有元素被激活或获得焦点。
    document.adoptNode(externalNode)  //将某个节点,从其原来所在的文档移除,插入当前文档,并返回插入后的新节点。
    document.importNode(externalNode, deep)   //从外部文档拷贝指定节点,插入当前文档。

1.4 Element节点

Element 是一个通用性非常强的基类,所有 Document 对象下的对象都继承自它。这个接口描述了所有相同种类的元素所普遍具有的方法和属性。一些接口继承自 Element 并且增加了一些额外功能的接口描述了具体的行为。例如, HTMLElement 接口是所有 HTML 元素的基本接口,而 SVGElement 接口是所有 SVG 元素的基础。大多数功能是在这个类的更深层级(hierarchy)的接口中被进一步制定的。

在 Web 平台的领域以外的语言,比如 XUL,通过 XULElement 接口,同样也实现了 Element 接口。

Element api
Element api

1.4.1 Element节点的属性

(1)特性属性
    Element.attributes  //返回当前元素节点的所有属性节点
    Element.id  //返回指定元素的id属性,可读写
    Element.tagName  //返回指定元素的大写标签名
    Element.innerHTML   //返回该元素包含的HTML代码,可读写
    Element.outerHTML  //返回指定元素节点的所有HTML代码,包括它自身和包含的的所有子元素,可读写
    Element.className  //返回当前元素的class属性,可读写
    Element.classList  //返回当前元素节点的所有class集合
    Element.dataset   //返回元素节点中所有的data-*属性。
(2)尺寸属性
    Element.clientHeight   //返回元素节点可见部分的高度
    Element.clientWidth   //返回元素节点可见部分的宽度
    Element.clientLeft   //返回元素节点左边框的宽度
    Element.clientTop   //返回元素节点顶部边框的宽度
    Element.scrollHeight  //返回元素节点的总高度
    Element.scrollWidth  //返回元素节点的总宽度
    Element.scrollLeft   //返回元素节点的水平滚动条向右滚动的像素数值,通过设置这个属性可以改变元素的滚动位置
    Element.scrollTop   //返回元素节点的垂直滚动向下滚动的像素数值
    Element.offsetHeight   //返回元素的垂直高度(包含border,padding)
    Element.offsetWidth    //返回元素的水平宽度(包含border,padding)
    Element.offsetLeft    //返回当前元素左上角相对于Element.offsetParent节点的垂直偏移
    Element.offsetTop   //返回水平位移
    Element.style  //返回元素节点的行内样式
(3)节点相关属性
    Element.children   //包括当前元素节点的所有子元素
    Element.childElementCount   //返回当前元素节点包含的子HTML元素节点的个数
    Element.firstElementChild  //返回当前节点的第一个Element子节点  
    Element.lastElementChild   //返回当前节点的最后一个Element子节点  
    Element.nextElementSibling  //返回当前元素节点的下一个兄弟HTML元素节点
    Element.previousElementSibling  //返回当前元素节点的前一个兄弟HTML节点
    Element.offsetParent   //返回当前元素节点的最靠近的、并且CSS的position属性不等于static的父元素。

1.4.2 Element节点的方法

(1)位置方法
    getBoundingClientRect()  
    // getBoundingClientRect返回一个对象,包含top,left,right,bottom,width,height // width、height 元素自身宽高
    // top 元素上外边界距窗口最上面的距离
    // right 元素右外边界距窗口最上面的距离
    // bottom 元素下外边界距窗口最上面的距离
    // left 元素左外边界距窗口最上面的距离
    // width 元素自身宽(包含border,padding) 
    // height 元素自身高(包含border,padding) 
    
    getClientRects()   //返回当前元素在页面上形参的所有矩形。
    
    // 元素在页面上的偏移量  
    var rect = el.getBoundingClientRect()  
    return {   
      top: rect.top + document.body.scrollTop,   
      left: rect.left + document.body.scrollLeft  
    }
(2)属性方法
    Element.getAttribute():读取指定属性  
    Element.setAttribute():设置指定属性  
    Element.hasAttribute():返回一个布尔值,表示当前元素节点是否有指定的属性  
    Element.removeAttribute():移除指定属性
(3)查找方法
    Element.querySelector()  
    Element.querySelectorAll()  
    Element.getElementsByTagName()  
    Element.getElementsByClassName()
(4)事件方法
    Element.addEventListener():添加事件的回调函数  
    Element.removeEventListener():移除事件监听函数  
    Element.dispatchEvent():触发事件
    
    //ie8
    Element.attachEvent(oneventName,listener)
    Element.detachEvent(oneventName,listener)
    
    // event对象  
    var event = window.event||event;    
    
    // 事件的目标节点  
    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()   //滚动当前元素,进入浏览器的可见区域
    
    //解析HTML字符串,然后将生成的节点插入DOM树的指定位置。
    Element.insertAdjacentHTML(where, htmlString); 
    Element.insertAdjacentHTML('beforeBegin', htmlString); // 在该元素前插入  
    Element.insertAdjacentHTML('afterBegin', htmlString); // 在该元素第一个子元素前插入 
    Element.insertAdjacentHTML('beforeEnd', htmlString); // 在该元素最后一个子元素后面插入 
    Element.insertAdjacentHTML('afterEnd', htmlString); // 在该元素后插入
    
    Element.remove()  //用于将当前元素节点从DOM中移除
    Element.focus()   //用于将当前页面的焦点,转移到指定元素上

二、CSS操作

(1)类名操作

    //ie8以下
    Element.className  //获取元素节点的类名
    Element.className += ' ' + newClassName  //新增一个类名
    
    //判断是否有某个类名
    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 //用来读写或删除整个style属性
    
    element.style.setProperty(propertyName,value)  //设置css属性
    element.style.getPropertyValue(property)  //获取css属性
    element.style.removeProperty(property)  //删除css属性
    操作非内联样式
    //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)生成实例对象

    var o = new Object()

(2)属性

    Object.prototype   //返回原型对象

(3)方法

    Object.keys(o)   //遍历对象的可枚举属性
    Object.getOwnPropertyName(o)   //遍历对象不可枚举的属性

对象实例的方法

    valueOf():返回当前对象对应的值。  
    toString():返回当前对象对应的字符串形式。  
    toLocaleString():返回当前对象对应的本地字符串形式。  
    hasOwnProperty():判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。 
    isPrototypeOf():判断当前对象是否为另一个对象的原型。
    propertyIsEnumerable():判断某个属性是否可枚举。

3.2 Array对象

(1)生成实例对象

    var a = new Array()

(2)属性

    a.length  //长度

(3)Array.isArray()

    Array.isArray(a)   //用来判断一个值是否为数组

(4)Array实例的方法

    a.valueof()   //返回数组本身
    a.toString()  //返回数组的字符串形式
    a.push(value,vlaue....)   //用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。
    pop()   //用于删除数组的最后一个元素,并返回该元素
    join()  //以参数作为分隔符,将所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分隔。
    concat()  //用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。
    shift()  //用于删除数组的第一个元素,并返回该元素。
    unshift(value)  //用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度。
    reverse()   //用于颠倒数组中元素的顺序,返回改变后的数组
    slice(start_index, upto_index);   //用于提取原数组的一部分,返回一个新数组,原数组不变。第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。负数表示倒数第几个。
    splice(index, count_to_remove, addElement1, addElement2, ...);   //用于删除原数组的一部分成员,并可以在被删除的位置添加入新的数组成员,返回值是被删除的元素。第一个参数是删除的起始位置,第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。
    sort()   //对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数,表示按照自定义方法进行排序。该函数本身又接受两个参数,表示进行比较的两个元素。如果返回值大于0,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。
    map()   //对数组的所有成员依次调用一个函数,根据函数结果返回一个新数组。
    map(elem,index,arr)   //map方法接受一个函数作为参数。该函数调用时,map方法会将其传入三个参数,分别是当前成员、当前位置和数组本身。
    forEach()   //遍历数组的所有成员,执行某种操作,参数是一个函数。它接受三个参数,分别是当前位置的值、当前位置的编号和整个数组。
    filter()   //参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。
    some()    //用来判断数组成员是否符合某种条件。接受一个函数作为参数,所有数组成员依次执行该函数,返回一个布尔值。该函数接受三个参数,依次是当前位置的成员、当前位置的序号和整个数组。只要有一个数组成员的返回值是true,则整个some方法的返回值就是true,否则false。
    every()   //用来判断数组成员是否符合某种条件。接受一个函数作为参数,所有数组成员依次执行该函数,返回一个布尔值。该函数接受三个参数,依次是当前位置的成员、当前位置的序号和整个数组。所有数组成员的返回值都是true,才返回true,否则false。
    reduce()   //依次处理数组的每个成员,最终累计为一个值。从左到右处理(从第一个成员到最后一个成员)
    reduceRight()  //依次处理数组的每个成员,最终累计为一个值。从右到左(从最后一个成员到第一个成员)
    indexOf(s)   //返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。可以接受第二个参数,表示搜索的开始位置
    lastIndexOf()  //返回给定元素在数组中最后一次出现的位置,如果没有出现则返回-1。

3.3 Number对象

(1)生成对象

    var n = new Number()

(2)Number对象的属性

    Number.POSITIVE_INFINITY:正的无限,指向Infinity。  
    Number.NEGATIVE_INFINITY:负的无限,指向-Infinity。  
    Number.NaN:表示非数值,指向NaN。  
    Number.MAX_VALUE:表示最大的正数,相应的,最小的负数为-Number.MAX_VALUE。  
    Number.MIN_VALUE:表示最小的正数(即最接近0的正数,在64位浮点数体系中为5e-324),相应的,最接近0的负数为-Number.MIN_VALUE。  
    Number.MAX_SAFE_INTEGER:表示能够精确表示的最大整数,即9007199254740991。  
    Number.MIN_SAFE_INTEGER:表示能够精确表示的最小整数,即-9007199254740991。

(4)Number对象实例的方法

    toString()   //用来将一个数值转为字符串形式.可以接受一个参数,表示输出的进制。如果省略这个参数,默认将数值先转为十进制,再输出字符串;否则,就根据参数指定的进制,将一个数字转化成某个进制的字符串。
    toFixed()   //用于将一个数转为指定位数的小数,返回这个小数对应的字符串。
    toExponential()  //用于将一个数转为科学计数法形式。可传入一个参数,参数表示小数点后有效数字的位数,范围为0到20,超出这个范围,会抛出一个RangeError。
    toPrecision()  //用于将一个数转为指定位数的有效数字。

3.4 String 对象

(1)生成实例对象

    var s = new String()

(2)String对象的属性

    s.length   //返回字符串的长度

(3)方法

    s.chatAt(index)   //返回指定位置的字符
    s.fromCharCode()    //该方法的参数是一系列Unicode码点,返回对应的字符串。
    s.charCodeAt(index)    //返回给定位置字符的Unicode码点(十进制表示)
    s.concat(s2)  //用于连接两个字符串
    s.slice(start,end)   //用于从原字符串取出子字符串并返回,不改变原字符串。第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。
    s.substring(start,end)  //用于从原字符串取出子字符串并返回,不改变原字符串.第一个参数表示子字符串的开始位置,第二个位置表示结束位置。
    s.substr(start,length)   //用于从原字符串取出子字符串并返回,不改变原字符串。第一个参数是子字符串的开始位置,第二个参数是子字符串的长度。如果第一个参数是负数,表示倒数计算的字符位置。如果第二个参数是负数,将被自动转为0,因此会返回空字符串。
    s.indexOf(s)   //返回给定元素在字符串中第一次出现的位置,如果没有出现则返回-1。可以接受第二个参数,表示搜索的开始位置 
    s.lastIndexOf()  //返回给定元素在字符串中最后一次出现的位置,如果没有出现则返回-1。
    s.trim()  //用于去除字符串两端的空格,返回一个新字符串
    s.toLowerCase()  //用于将一个字符串全部转为小写,返回一个新字符串,不改变原字符串。
    s.toUpperCase()  //全部转为大写
    s.localeCompare(s2)  //用于比较两个字符串。它返回一个整数,如果小于0,表示第一个字符串小于第二个字符串;如果等于0,表示两者相等;如果大于0,表示第一个字符串大于第二个字符串。
    s.match(regexp)   //用于确定原字符串是否匹配某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有找到匹配,则返回null。
    s.search()  //返回值为匹配的第一个位置。如果没有找到匹配,则返回-1。
    s.replace(oldValue,newValue)  //用于替换匹配的子字符串,一般情况下只替换第一个匹配(除非使用带有g修饰符的正则表达式)。
    s.split()  //按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。还可传入第二个参数,决定了返回数组的成员数。

3.5 Math对象

(1)属性

    Math.E:常数e。  
    Math.LN2:2的自然对数。  
    Math.LN10:10的自然对数。  
    Math.LOG2E:以2为底的e的对数。  
    Math.LOG10E:以10为底的e的对数。  
    Math.PI:常数Pi。  
    Math.SQRT1_2:0.5的平方根。  
    Math.SQRT2:2的平方根。

(2)数学方法

    Math.abs():返回参数的绝对值  
    Math.ceil():向上取整,接受一个参数,返回大于该参数的最小整数。 
    Math.floor():向下取整  
    Math.max(n,n1,...):可接受多个参数,返回最大值  
    Math.min(n,n1,..):可接受多个参数,返回最小值  
    Math.pow(n,e):指数运算, 返回以第一个参数为底数、第二个参数为幂的指数值。 
    Math.sqrt():返回参数值的平方根。如果参数是一个负值,则返回NaN。  
    Math.log():返回以e为底的自然对数值。
    Math.exp():返回e的指数,也就是常数e的参数次方。
    Math.round():四舍五入  
    Math.random():返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。

(3)三角函数方法

   Math.sin():返回参数的正弦  
   Math.cos():返回参数的余弦  
   Math.tan():返回参数的正切  
   Math.asin():返回参数的反正弦(弧度值)  
   Math.acos():返回参数的反余弦(弧度值)  
   Math.atan():返回参数的反正切(弧度值)

3.6 JSON对象

(1)方法

    JSON.stringify()   
    //用于将一个值转为字符串。该字符串应该符合JSON格式,并且可以被JSON.parse方法还原。
    //(JSON.stringify(obj, selectedProperties))还可以接受一个数组,作为第二个参数,指定需要转成字符串的属性。
    //还可以接受第三个参数,用于增加返回的JSON字符串的可读性。如果是数字,表示每个属性前面添加的空格(最多不超过10个);如果是字符串(不超过10个字符),则该字符串会添加在每行前面。
    
    JSON.parse()   //用于将JSON字符串转化成对象。

3.7 console对象

(1)方法

    console.log(text,text2,...)   //用于在console窗口输出信息。它可以接受多个参数,将它们的结果连接起来输出。如果第一个参数是格式字符串(使用了格式占位符),console.log方法将依次用后面的参数替换占位符,然后再进行输出。
    console.info()   //在console窗口输出信息,同时,会在输出信息的前面,加上一个蓝色图标。
    console.debug()  //在console窗口输出信息,同时,会在输出信息的前面,加上一个蓝色图标。
    console.warn()  //输出信息时,在最前面加一个黄色三角,表示警告;
    console.error()  //输出信息时,在最前面加一个红色的叉,表示出错,同时会显示错误发生的堆栈
    console.table()  //可以将复合类型的数据转为表格显示。
    console.count()  //用于计数,输出它被调用了多少次。
    console.dir()    //用来对一个对象进行检查(inspect),并以易于阅读和打印的格式显示。
    console.dirxml()  //用于以目录树的形式,显示DOM节点。
    console.assert()  //接受两个参数,第一个参数是表达式,第二个参数是字符串。只有当第一个参数为false,才会输出第二个参数,否则不会有任何结果。
    
    //这两个方法用于计时,可以算出一个操作所花费的准确时间。
    console.time()
    console.timeEnd()
    //time方法表示计时开始,timeEnd方法表示计时结束。它们的参数是计时器的名称。调用timeEnd方法之后,console窗口会显示“计时器名称: 所耗费的时间”。
    
    console.profile()  //用来新建一个性能测试器(profile),它的参数是性能测试器的名字。
    console.profileEnd()  //用来结束正在运行的性能测试器。
    
    console.group()
    console.groupend()
    //上面这两个方法用于将显示的信息分组。它只在输出大量信息时有用,分在一组的信息,可以用鼠标折叠/展开。
    console.groupCollapsed()  //用于将显示的信息分组,该组的内容,在第一次显示时是收起的(collapsed),而不是展开的。
    
    console.trace()  //显示当前执行的代码在堆栈中的调用路径。
    console.clear()  //用于清除当前控制台的所有输出,将光标回置到第一行。

HTML5 API篇


一、多媒体 音频(audio)和视频(video)

在HTML5中引入了

    <audio src="m.mp3"/>
    <video src="m.mp4" width=320 height=400 />
    由于不同的浏览器对标准音频和视频的编解码支持上并不一致,所以通常需要使用<source>元素来为指定不同格式的媒体源:
    
    <audio id="music">
      <source src="m.mp3" type="audio/mpeg">
      <source src="m.ogg" type="audio/ogg;codec='vorbis'">
    </audio>

<source>元素没有任何内容:没有闭合的标签,也需要使用“/>”来结束它们。

我们可以在<audio></audio>(或<video></video>)标签之间插入文本内容,如果浏览器支持<audio><video>元素,将不会渲染文本内容;而如果浏览器不支持时,则会将它们渲染出来。

    <audio id="music">   
      <source src="m.mp3" type="audio/mpeg">   
      <source src="m.ogg" type="audio/ogg;codec='vorbis'">  
      您的浏览器不支持audio标签。
    </audio>

1.1 HTML中媒体的属性

(1)视频(

    autoplay    autoplay    如果出现该属性,则视频在就绪后马上播放。
    controls    controls    如果出现该属性,则向用户显示控件,比如播放按钮。
    height      pixels      设置视频播放器的高度。
    width       pixels      设置视频播放器的宽度。
    loop        loop        如果出现该属性,则循环播放。
    muted       muted       如果出现该属性,视频的音频输出为静音。
    poster      URL         规定视频正在下载时显示的图像,直到用户点击播放按钮。 preload     auto/metadata/none   如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。
    src         URL         要播放的视频的 URL。

(2)音频(

    autoplay    autoplay    如果出现该属性,则视频在就绪后马上播放。
    controls    controls    如果出现该属性,则向用户显示控件,比如播放按钮。
    loop        loop        如果出现该属性,则当媒介文件完成播放后再次开始播放。
    muted       muted       如果出现该属性,视频的音频输出为静音。
    preload     auto/metadata/none    如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。
    src         URL         要播放的视频的 URL。

1.2 用JavaScript操作音频和视频

audio可以通过new创建Audio对象

var music = new Audio('m.mp3');

还可以通过标签获取

var music = document.getElementById('music');

检测浏览器是否支持

var hasAudio = !!(music.canPlayType); //通过!!运算符将结果转换成布尔值

(1)属性

只读属性:

duration   整个媒体文件的播放时长,以秒为单位。如果无法获取时长,则返回NaN  
paused     如果媒体文件当前被暂停,则返回true。如果还未开始播放,默认返回true  
ended      如果媒体文件已经播放完毕,则返回true  
startTime  返回最早的播放起始时间,一般是0.0,除非是缓冲过的媒体文件,并且一部分内容已经不在缓冲区  
error      在发生了错误的情况下返回的错误代码  
currentSrc 以字符串形式返回当前正在播放或已加载的文件。对应于浏览器在source元素中选择的文件
seeking    如果播放器正在跳到一个新的播放点,那seeking的值为true。
initialTime  指定了媒体的开始时间,单位为秒

可读写属性:

autoplay     将媒体文件设置为创建后自动播放,或者查询是否已设置为autoplay  
loop         返回是否循环播放,或设置循环播放(或者不循环播放)  
currentTime  指定了播放器应该跳过播放的时间(单位为秒)。在播放过程中,可设置currentTime属性来进行定点播放。
controls     显示或隐藏用户控制界面,或者查询用户控制界面当前是否可见  
volume       在0.0到1.0之间设置音频音量的相对值,或者查询当前音量相对值  
muted        布尔值,设置静音或者消除静音,或者检测当前是否为静音  
autobuffer   通知播放器在媒体文件开始播放前,是否惊醒缓冲加载。如果已设置为autoplay,则忽略此特性
playbackRate  用于指定媒体播放的速度。1.0表示正常速度,大于1则表示“快进”,0~1之间表示“慢放”,负值表示回放。

三个特殊属性:

played 返回已经播放的时间段  
buffered 返回当前已经缓冲的时间段  
seekable 返回当前播放器需要跳到的时间段
played、buffered和seekable都是TimeRanges对象,每个对象都有一个length属性以及start(index)和end(index)方法,前者表示当前一个时间段,后者分别返回当前时间段的起始时间点和结束时间点(单位为秒)。

还有另外三个属性:
readyState、networkState和error,它们包含<audio><video>元素的一些状态细节。每个属性都是数字类型的,而且为每个有效值都定义了对应的常量。

readyStete属性

readyState属性指定当前已经加载了多少媒体内容,只读属性

HAVE_NOTHING(数字值为0):没有获取到媒体的任何信息,当前播放位置没有可播放数据。  
HAVE_METADATA(数字值为1):已经获取到足够的媒体数据,但是当前播放位置没有有效的媒体数据(也就是说,获取到的媒体数据无效,不能播放)。  
HAVE_CURRENT_DATA(数字值为2):当前播放位置已经有数据可以播放,但没有获致到可以让播放器前进的数据。当媒体为视频时,意思是当前帖的数据已获取,但没有获取到下一帧的数据,或者当前帧已经是播放的最重一帧。  
HAVE_FUTURE_DATA(数字值为3):当前播放位置已经有数据可以播放,而且也获取到了可以让播放器前进的数据。当媒体为视频时,意思是当前帧的数据已获取,而且也获取到了下刺目贩数据,当前帧是播放的最后一帧时,readyState属性不可能为HAVE_FUTURE_DTAT。  HAVE_ENOUGH)DATA(数字值为4):当前播放位置已经有数据可以播放,同时也获取到了可以让播放器前进的数据,而且浏览器确认媒体以某一种速度进行加载,可以保证有足够的后续数据进行播放。

networkState属性

networkState属性读取当前的网络状态,共有如下所示的4个可能值:

NETWORK_EMPTY(数字值为0):元素牌初始状态。
NETWORK_IDLE(数字值为1):浏览器已选择好用什么编码格式来播放媒体,但尚未建立网络连接。
NETWORK_LOADING(数字值为2):媒体数据加载中。
NETWORK_NO_SOURCE(数字值为3):没有支持的编码格式,不执行加载。

error属性

当在加载媒体或者播放媒体过程中发生错误时,浏览器就会设置

MEDIA_ERR_ABORTED(数字值为1):媒体数据的下载过程由于用户的操作原因而被中止。
MEDIA_ERR_NETWORK(数字值为2):确认媒体资源可用,但是在下载时出现网络错误,媒体数据下载过程被中止。
MEDIA_ERR_DECODE(数字值为3):确认媒体资源可能,但是解码时发生错误。
MEDIA_ERR_SRC_NOT_SUPPORTED(数字值为4):媒体格式不被支持。

video的额外属性:

poster    在视频加载完成之前,代表视频内容的图片的URL地址。该特性可读可修改  
width、height    读取或设置显示尺寸。如果大小不匹配视频本身,会导致边缘出现黑色条状区域  
videoWidth、videoHeight    返回视频的固有或自使用宽度和高度。只读

(2)方法

canPlayType(type)方法将媒体的MIME类型作为参数,用来测试浏览器是否支持指定的媒体类型。如果它不能播放该类型的媒体文件,将返回一个空的字符串;反之,它会返回一个字符串:“maybe”或“probably”。

    var a = new Audio();
    if(a.canPlayType('audio/wav')){
      a.src = 'm.wav';
      a.play();
    }

其他方法:

play() 控制媒体开始播放
pause() 暂停媒体播放
load() 重新加载src指定的资源

(3)事件

audio元素和video元素加载音频和视频时,以下事件按次序发生。

loadstart:开始加载音频和视频。  
durationchange:音频和视频的duration属性(时长)发生变化时触发,即已经知道媒体文件的长度。如果没有指定音频和视频文件,duration属性等于NaN。如果播放流媒体文件,没有明确的结束时间,duration属性等于Inf(Infinity)。  
loadedmetadata:媒体文件的元数据加载完毕时触发,元数据包括duration(时长)、dimensions(大小,视频独有)和文字轨。  
loadeddata:媒体文件的第一帧加载完毕时触发,此时整个文件还没有加载完。  
progress:浏览器正在下载媒体文件,周期性触发。下载信息保存在元素的buffered属性中。  
canplay:浏览器准备好播放,即使只有几帧,readyState属性变为CAN_PLAY。  
canplaythrough:浏览器认为可以不缓冲(buffering)播放时触发,即当前下载速度保持不低于播放速度,readyState属性变为CAN_PLAY_THROUGH。

除了上面这些事件,audio元素和video元素还支持以下事件。

abort    播放中断  
emptied    媒体文件加载后又被清空,比如加载后又调用load方法重新加载。  
ended    播放结束  
error    发生错误。该元素的error属性包含更多信息。  
pause    播放暂停  
play    暂停后重新开始播放  
playing    开始播放,包括第一次播放、暂停后播放、结束后重新播放。  
ratechange    播放速率改变  
seeked    搜索操作结束  
seeking    搜索操作开始  
stalled    浏览器开始尝试读取媒体文件,但是没有如预期那样获取数据  
suspend    加载文件停止,有可能是播放结束,也有可能是其他原因的暂停  
timeupdate    网页元素的currentTime属性改变时触发。  
volumechange    音量改变时触发(包括静音)。  
waiting    由于另一个操作(比如搜索)还没有结束,导致当前操作(比如播放)不得不等待。

二、Geolocation API(地理位置)

三、File API 文件系统API

四、WebRTC Blob PageVibility....

https://developer.mozilla.org/zh-CN/docs/Web/API
https://www.kancloud.cn/dennis/tgjavascript/241852

添加新评论

已有 3074 条评论

deep web sites darknet market links

darknet markets 2023 darknet market list

tor markets dark web drug marketplace

tor marketplace tor market url

tor dark web darknet drugs

dark market list darknet seiten

darkmarket darknet drugs

dark internet deep web drug store

dark market 2023 darknet market list

darknet marketplace deep web drug url

how to access dark web dark website

darknet site darknet drug store

darkmarket url deep web links

darknet drug market darknet links

how to get on dark web dark web sites

dark market list tor market

darknet drug store darkmarket list

darknet market links dark markets 2023

drug markets onion tor market

dark net deep web drug markets

drug markets dark web the dark internet

deep web drug store dark web links

dark market url free dark web

dark market 2023 dark websites

singulair pill amantadine 100 mg ca order avlosulfon 100 mg generic

black internet darknet drug market

dark web sites dark markets 2023

darkweb marketplace darknet market

bitcoin dark web dark web market list

dark market list dark web market list

tor darknet deep dark web

tor marketplace darknet markets

dark market 2023 dark net

dark web links how to access dark web

dark web site dark web site

dark web search engines blackweb official website

tor market darkmarket list

deep web drug links deep web links

tor market links bitcoin dark web

onion market darknet search engine

dark market list dark web sites links

the dark internet dark web market list

darknet market dark web market list

bitcoin dark web darknet sites

dark web websites dark web sites

darknet drugs deep web sites

dark markets dark web market

darknet market links darknet site

tor market links best darknet markets

darknet links bitcoin dark web

darknet market links dark market list

darknet websites darknet sites

darknet websites dark market 2023

tor dark web deep web drug url

dark market link tor markets links

dark web site how to access dark web

darknet market links darknet marketplace

deep web drug store bitcoin dark web

darknet drug store darkmarket list

darkmarket link bitcoin dark web

deep web search dark web site

tor marketplace darknet market list

darkmarket list darknet market list

blackweb official website deep web drug links

deep web markets the dark internet

darknet sites darknet market lists

darkmarket 2023 darknet markets 2023

tor markets drug markets dark web

dark web markets blackweb

darknet market list darkmarket

tor market links deep web links

deep web search dark web search engines

deep web search deep web drug store

dark web market dark market link

dark websites dark web market list

tor market drug markets dark web

deep web drug links darknet drug store

the dark internet black internet

darkmarket list drug markets dark web

deep web drug store darknet market lists

deep web markets free dark web

dark web site onion market

darknet market drug markets dark web

drug markets onion darknet websites

deep web drug store tor market links

darknet drug store dark market 2023

dark market 2023 dark internet

dark internet darknet markets 2023

the dark internet dark web link

dark web market dark markets

dark website darknet marketplace

blackweb darknet drug market

dark website darkmarket list

dark market list darknet links

darknet drugs darknet market links

dark websites darkmarket 2023

dark market link darknet site

darknet drug market deep dark web

dark web link dark markets 2023

darknet market list deep dark web

dark web drug marketplace dark website

dark market link darkmarket list

best darknet markets dark market 2023

tor market links dark market onion

dark web search engine deep web sites

deep web drug url dark market list

dark markets 2023 bitcoin dark web

dark web market links dark net

darknet search engine darknet websites

tor darknet blackweb official website

dark market url darknet market lists

darknet sites dark web search engine

darkmarkets dark web link

dark web links dark website

darknet marketplace dark web market list

darkmarket url dark market onion

darknet websites the dark internet

deep web drug url deep web drug url

blackweb official website tor markets

dark market onion bitcoin dark web

darkmarket dark internet

dark market 2023 tor markets

dark net best darknet markets

tor market darknet market lists

darkmarket url darkmarket link

dark market link bitcoin dark web

darknet sites free dark web

tor markets links onion market

tor marketplace darknet search engine

darknet market lists darknet market links

how to access dark web tor marketplace

dark web markets dark web link

dark market 2023 tor market url

tor markets 2023 dark web market list

dark web sites darkmarket url

darkmarket link darkmarket url

dark markets 2023 deep web drug markets

dark internet darknet drug links

dark web site dark web markets

dark market link dark web websites

bitcoin dark web dark markets

deep web sites dark web drug marketplace

darknet drug store dark web sites

deep web drug store darknet seiten

dark web link darkweb marketplace

best darknet markets dark web websites

deep web drug links dark market onion

the dark internet tor darknet

dark web websites deep web links

darkmarket list darknet links

dark web drug marketplace darkweb marketplace

darkmarket list darkmarket 2023

darknet market list blackweb

dark web market how to access dark web

deep web drug links drug markets dark web

dark web market links tor market url

dark web links darknet marketplace

onion market free dark web

tor market links dark market url

dark markets 2023 darknet markets

dark web site dark market list

blackweb official website the dark internet

drug markets onion darknet drugs

free dark web darkmarket link

darknet drug store darkmarket list

deep web drug links tor markets

darknet drug store dark market list

dark websites tor marketplace

dark web market dark websites

tor dark web tor market links

best darknet markets darkweb marketplace

dark market url tor marketplace

tor darknet darknet search engine

dark web markets deep web drug markets

darknet links darknet market

dark web sites dark website

darknet drugs dark markets

best darknet markets darknet site

darknet links dark web market links

drug markets onion deep web drug url

dark web links deep web search

buy olumiant 4mg online cheap purchase glucophage generic order generic lipitor

dark web search engines darkweb marketplace

buy albuterol 100mcg for sale proventil 100mcg for sale buy phenazopyridine online

dark markets 2023 dark web market

dark markets 2023 darknet sites

tor dark web darknet search engine

darknet market dark web links

the dark internet darknet sites

deep web sites deep web drug url

blackweb darkweb marketplace

darknet markets 2023 darkmarket link

dark market url darkmarket 2023

free dark web deep web drug markets

darkweb marketplace bitcoin dark web

darknet sites blackweb official website

darknet market links darknet drug links

dark market url darkmarket list

tor markets 2023 darknet links

deep web search dark web site

tor market links tor markets

dark market 2023 darknet market

dark market url tor dark web

darknet search engine darknet market list

deep web drug url onion market

darknet sites dark market url

darknet drug links black internet

deep web drug markets dark web site

tor dark web dark web sites

drug markets dark web darknet site

dark markets darknet markets 2023

dark web link darknet sites

tor darknet darknet drug store

darknet market links deep dark web

darkmarket 2023 darknet markets

darknet drug links dark markets

how to access dark web deep web links

tor markets links darknet site

blackweb dark web search engine

free dark web dark web search engine

darknet websites dark web market list

darknet drug market darknet markets 2023

deep web sites deep web links

dark market onion tor market

how to get on dark web darkmarket url

darknet markets 2023 tor market

tor market url dark market 2023

darknet search engine deep web drug markets

dark web market links how to access dark web

darknet drug market dark websites

dark web link deep web drug url

darknet drug links dark web sites

tor darknet darknet seiten

how to access dark web dark web markets

dark web market list dark web websites

deep web sites tor markets

how to access dark web dark market list

blackweb tor markets links

darknet drug store darknet drug market

bitcoin dark web dark market onion

tor darknet dark web sites

dark markets 2023 deep web drug markets

darknet drug links darkweb marketplace

darknet seiten dark web websites

dark web market dark market onion

dark web market dark web market links

darknet market list dark websites

dark web market darkmarket url

dark web drug marketplace dark net

dark web links dark web drug marketplace

dark market link dark web market links

dark market list dark web link

darknet markets 2023 best darknet markets

dark web sites links dark web site

dark web market darkmarket url

dark web sites darkmarket 2023

dark web websites dark web websites

tor markets darknet market

bitcoin dark web dark web drug marketplace

darknet markets how to get on dark web

darknet links tor market links

dark web market darkmarket list

free dark web darkmarket 2023

dark markets the dark internet

dark web drug marketplace darknet market lists

darknet search engine dark web link

dark market onion darknet markets

darkmarket 2023 dark web site

tor market links dark websites

darknet drug links deep web drug markets

darknet site dark market url

darknet drug market darknet drug store

darkmarket list the dark internet

dark markets 2023 deep web drug store

blackweb deep web drug store

darkmarket url dark web sites

tor dark web dark web websites

dark market list darkmarket url

dark web links dark web market

darkmarket link darknet site

dark web markets darknet drugs

tor markets dark web markets

tor darknet dark web search engine

tor market links tor markets 2023

dark markets 2023 dark net

tor markets links dark web search engines

dark web drug marketplace tor market url

dark market url tor markets 2023

darknet search engine deep web drug links

deep web drug store darknet websites

dark market tor markets 2023

dark website dark market link

darkmarket list deep web search

darkmarket tor darknet

free dark web dark web market list

deep web sites onion market

how to access dark web darknet sites

the dark internet deep web markets

darkmarket list dark web markets

darkmarket darknet search engine

darknet drug market tor marketplace

the dark internet drug markets dark web

dark web sites links dark market

dark market list blackweb

tor market url deep web sites

onion market darkmarkets

darkweb marketplace how to access dark web

tor marketplace darkmarket url

darknet sites darknet market list

how to access dark web bitcoin dark web

dark web sites deep web markets

dark net dark web drug marketplace

best darknet markets darknet drug market

dark web links darknet drug market

the dark internet dark web markets

darknet market links darkmarkets

dark web search engines best darknet markets

how to access dark web darknet drug market

darkmarket link dark web sites

darknet drug links dark web sites links

darknet drugs dark market

dark market url deep web links

free dark web darknet market links

how to get on dark web tor market

dark web market links darknet market lists

dark market link deep web sites

tor darknet deep web sites

best darknet markets darkmarket link

dark market darkmarket list

darknet marketplace deep web markets

deep dark web black internet

how to get on dark web dark web access

dark market link dark web market list

tor marketplace drug markets dark web

tor marketplace darknet sites

darkmarket 2023 darkmarkets

dark web market list darknet drug market

dark market onion darkweb marketplace

darknet seiten dark market 2023

dark web markets dark internet

dark web site darknet markets 2023

tor dark web darkmarket link

darknet site dark markets

dark web market links darknet links

dark market onion darknet seiten

dark website darknet drug store

dark market link darknet sites

dark web links dark websites

dark net dark web search engines

deep web sites dark web market links

tor market url dark market link

dark market drug markets dark web

darkmarket link darknet drugs

free dark web darknet drug links

bitcoin dark web dark web market

deep dark web dark web search engines

darknet drugs darkmarkets

darknet sites dark internet

drug markets onion tor marketplace

dark web search engine dark net

darknet seiten tor markets

darknet markets dark web site

dark market onion best darknet markets

darkmarket url dark web sites

tor markets 2023 drug markets onion

tor market darknet drugs

onion market darknet drug market

deep web drug markets the dark internet

darkmarket url dark web links

deep web search darknet search engine

darknet marketplace how to access dark web

darknet market darknet market links

naprosyn 500mg oral naproxen order prevacid drug

darknet markets 2023 dark market

darknet market darknet market

drug markets onion darknet market

dark market 2023 dark market onion

deep web drug links bitcoin dark web

darknet drug store dark web market links

dark market darknet seiten

onion market deep web drug store

dark net darkmarket list

dark market 2023 tor markets links

how to get on dark web deep web search

dark web link deep web sites

tor dark web darknet markets

darknet drug market tor darknet

tor darknet deep web markets

darknet market links tor market url

dark web search engines tor markets 2023

dark web markets tor markets 2023

dark web sites best darknet markets

deep web drug links deep web links

deep web drug url tor darknet

dark web markets tor market url

drug markets onion tor market links

best darknet markets tor darknet

dark market deep web sites

deep web search dark web sites

dark web site deep web drug store

darknet drug market dark web links

darknet drug store dark web sites

darkweb marketplace drug markets dark web

dark web search engine dark market 2023

dark market 2023 dark web access

dark web links dark market

the dark internet darkmarket list

dark market link darknet websites

tor markets tor market url

darknet websites deep web links

how to access dark web drug markets dark web

deep web sites drug markets dark web

tor dark web best darknet markets

dark web links dark web access

darknet websites tor dark web

dark web sites darkmarket

darkmarket list dark market link

darkweb marketplace how to get on dark web

tor markets darkmarket url

deep web links darknet links

dark web market dark web drug marketplace

tor darknet dark market 2023

darknet seiten dark web search engine

dark web market links darkweb marketplace

darkmarket url dark internet

dark web sites darkmarkets

dark web search engine dark market list

deep web drug markets dark web market

darkmarket dark web sites links

darknet seiten darknet drugs

deep web links drug markets dark web

darknet markets dark market url

dark market 2023 darknet drug market

tor dark web drug markets dark web

best darknet markets darkmarket url

dark markets 2023 darkmarket link

drug markets dark web dark web market links

dark market 2023 tor market links

darknet market list dark markets

dark web site darknet search engine

darknet drug store dark website

dark markets 2023 dark web site

dark websites deep dark web

deep dark web deep web drug store

dark web market links darknet seiten

dark web drug marketplace best darknet markets

dark markets darknet drugs

deep web search darknet search engine

dark web access darknet market

tor market deep web drug links

tor market how to access dark web

dark web link deep web markets

deep web markets onion market

deep web drug store how to access dark web

darkweb marketplace dark web market links

dark internet dark web market list

dark markets 2023 dark markets

how to access dark web dark market onion

darkmarket deep web drug url

darknet market links dark websites

deep web sites darknet drugs

dark web link deep dark web

darknet seiten dark market list

the dark internet dark market 2023

darkmarket link free dark web

tor markets dark web access

deep web drug store how to access dark web

darknet drug links darknet search engine

drug markets onion dark web search engines

dark web markets deep web links

darknet links darknet markets

tor markets darknet market list

darknet drug store free dark web

deep dark web darknet site