JavaScript 中的全部事物都是对象:字符串、数值、数组、函数等,并且JavaScript 容许自定义对象javascript
JavaScript 提供多个内建对象,好比 String、Date、Array 等等,对象只是带有属性和方法的特殊数据类型。css
Array 对象用于在变量中存储多个值:var cars = ["Saab", "Volvo", "BMW"];html
Boolean 对象用于转换一个不是 Boolean 类型的值转换为 Boolean 类型值 (true 或者false)java
Date 对象用于处理日期与实际。建立 Date 对象: new Date().web
以上四种方法一样能够建立 Date 对象:ajax
var d = new Date();正则表达式
var d = new Date(milliseconds);chrome
var d = new Date(dateString);编程
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);windows
Math 对象用于执行数学任务,Math 对象并不像 Date 和 String 那样是对象的类,所以没有构造函数 Math()。
Number 对象是原始数值的包装对象,Number 建立方式 new Number()。
String 对象用于处理文本(字符串),String 对象建立方法: new String().
正则表达式是描述字符模式的对象,正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。
浏览器进行页面渲染,负责把网页内容(html,xml等)和消息(css)取出和整理,而javascript引擎执行js代码,js引擎会影响页面总体速度。
目前国内主流浏览器以下:
浏览器 | 内核 | javascript引擎 |
IE | Trident | 对W3C标准支持差,IE10开始支持ES6标准 |
chrome | 基于Webkit内核 | 支持ES6,内置V8,保持自升级 |
Safari | 基于Webkit内核 | 支持ES6 |
Firefox | Gecko内核 | OdinMonkey |
移动设备iOS和Android,Apple的Safari和Google的Chrome | 基于Webkit内核 | 支持ES6 |
不一样浏览器对javascript支持有差别,如Aajax,file接口api等,在写js时须要考虑浏览器兼容
js能够获取浏览器对象,包括windows、screen、location、document、history、navigator,对对象的属性和方法进行访问和设置,具体说明以下:
对象名 | 说明 | 示例 |
windows | 表示浏览器中打开的窗口,浏览器为 HTML 文档建立一个 window 对象,并为每一个框架(<frame> 或 <iframe> 标签)建立一个额外的 window 对象 | alert(window.location); |
screen | 客户端显示屏幕的信息 | alert(screen.width); |
location | 有关当前 URL 的信息,是 window 对象的一部分 | location.reload(); |
document | 表示当前页面,是 Window 对象的一部分 | document.title = 'test'; |
history | 包含浏览器窗口中访问过的 URL,是 window 对象的一部分 | history.back(); |
navigator | 包含有关浏览器的信息,浏览器名称版本等 | alert(navigator.appName); |
dom全称文档对象模型,是基于浏览器编程的一套API接口,W3C出台的推荐标准,当浏览器载入html后,会解析成一个dom树,js能够对dom节点进行增删改查操做,动态修改浏览器页面内容。
document 对象是HTML文档的根节点与全部其余节点(元素节点,文本节点,属性节点, 注释节点)。
以下html内容:
<html> <head> <meta charset="UTF-8"> <title>never-online'swebsite</title> </head> <body> <div>tutorialofDHTMLandjavascriptprogramming</div> </body> </html>
解析后的dom树为:
DOM是一个树形结构,操做一个DOM节点首先须要获取到一个节点,而后进行增(节点下新增一个子节点)、删(从html删除该节点)、改(更新该节点的html内容)、查(遍历或定位该子节点)。
获取一个节点,能够经过id、class、tab名,如:
document.getElementById():根据id获取,id惟一,因此获取到惟一的一个DOM节点
document.getElementsByTagName():根据tab获取,返回一组DOM节点。要精确地选择DOM,能够先定位父节点,再从父节点开始选择,以缩小范围
document.getElementsByClassName():根据class获取,同上