1,js组成
核心:ECMAScript标准
此标准指定了js的基础语法,数据类型,关键字,操作符,对象;
DOM:文档对象模型标准(Document object Model)
是js针对xml html的程序编程接口;DOM把一个页面映射为多层的节点结构;DOM是有DOM核心和DOM HTML组成;DOM核心规定的是如何映射XML文档结构;DOM HTML是其拓展;用来实现对HTML文档的映射;
DOM LEVEL1
DOM LEVEL2
DOM LEVEL3
BOM:浏览器对象模型(Browser Object Model)
主要是对浏览器来做描述;提供对浏览器的操作接口;
2,ECMAScript
ECMAScript是js的核心标准;他定义了基础语法,数据类型,关键字,操作符,对象;
JS数据类型:
JS是弱类型脚本语言,数据类型分为有 字符串、数字、布尔、数组、对象、Null、Undefined 数组8种;但是定义去没有像Java那样的 int 必须定义为int i=???;JS定义变量都是 var a=???;
例如:
基础类型变量定义: var a = 6; var b= '6'; var c="6";
对象类型变量的定义创建:function createPerson(name,age,sex){
var person = new Object();
person.perName = name;
person.perAge = age;
person.perSex = sex;
return person;
}
数组:var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
基础语法:
流程控制语句 if if(a =6){....};
循环语句:
for(...;...;...) for(var i=1 ;i< a ; i++){...}
while(...) while(a<6){..............}
do.........while(.......) do ..... while()
DOM
节点:
文档中的不同组成元素都是一个节点;
Node层级:
节点彼此都有等级关系。HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档(document)节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。
BOM
他包含的不同的对象;我们可以通过不同的对象对浏览器进行不同操作;
1.window
常用方法: window.open(URL,name,features,replace),四个都为可选参数
URL:新窗口中显示的文档的 URL
name:声明了新窗口的名称
features:声明了新窗口要显示的标准浏览器的特征
replace:布尔值,true - URL 替换浏览历史中的当前条目。 false - URL 在浏览历史中创建新的条目。
window.close()关闭当前窗口
moveTo(x,y) 方法可把窗口的左上角移动到一个指定的坐标。
moveBy(x,y) 方法可相对窗口的当前坐标把它移动指定的像素。
resizeTo(width,height) 方法用于把窗口大小调整为指定的宽度和高度。
resizeBy(x,y) 方法用于根据指定的像素来调整窗口的大小。
setTimeout(epress,time) 方法用于在指定的毫秒数后调用函数或计算表达式。
clearTimeout(timeID)停止已经启动的定时器
2,Location对象
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
常用方法:
hash:设置或返回从井号 (#) 开始的 URL(锚)。
host:设置或返回主机名和当前 URL 的端口号
hostname:设置或返回当前 URL 的主机名。
href:设置或返回完整的 URL。
pathname:设置或返回当前 URL 的路径部分
port:设置或返回当前 URL 的端口号
protocol:设置或返回当前 URL 的协议。
search:设置或返回从问号 (?) 开始的 URL(查询部分)。
assign()加载新的文档。
reload()重新加载当前文档。
replace()用新的文档替换当前文档。
3,History对象
其实就是来保存浏览器历史记录信息。
属性有:length,返回浏览器历史列表中的 URL 数量。
常用方法有:
back()加载 history 列表中的前一个 URL。
forward()加载 history 列表中的下一个 URL。
go()加载 history 列表中的某个具体页面。
如常见的返回上一页:History.go(-1)和history.back()
4,screen对象
Screen 对象中存放着有关显示浏览器屏幕的信息。
常见的属性有:
availHeight:返回显示屏幕的高度
availWidth:返回显示屏幕的宽度
colorDepth:返回目标设备或缓冲器上的调色板的比特深度。
height:返回屏幕区域的实际高度
width:返回屏幕区域的实际宽度
5,Navigator对象
包含的属性描述了正在使用的浏览器
appName:返回浏览器的名称。
appVersion:返回浏览器的平台和版本信息。
platform:返回运行浏览器的操作系统平台。
appCodeName:返回浏览器的代码名。
JS与JSON
JSON对象和JS对象有所不同;主要区别在于属性值js对象属性名可以不用“”但是json对象必须;
JS解析JSON:
1.eval()函数
2,JSON内置对象的stringify()(把js对象序列化为json字符串) 或者 parse()(吧json字符串转化为js对象)方法;
两种方法的区别:
第一种方法存在风险,如果读取的json字符串存在语法错误则会报错;