JS中的复合类型:
1.对象
1.1内置对象
Date: new Date().toLocaleString();
Math: Math.PI
Math.random();//返回随机数
Math.floot
String:
Array:
1.2自定义对象
function Person(xid,xname,xsal){ //属性,通过p.id 调用 this.id = xid; this.name = xname; this.sal = xsal; //定义函数 this.run = function(){ //code... } } var p = new Person(2015,"",3210); //临时添加属性和方法 p.city = "上海"; p.go = function(){ //code... }
1.3浏览器对象
window.document 等
1.4ActiveX对象
Ajax对象
2.数组
2.1定义数组的3中方式:
var students = new Array(3); //初始化大小,不会影响添加到数组中元素的个数,以实际赋值为准
var students = new Array(); //
var students = new Array(["haha","heh",90]); //不要求元素类型相同
2.2二维数组
var students = new Array([[],[],[]]);
3.函数
2.1函数的定义:
function 函数名(参数){
函数体;
返回值;
}
var add = new Functio("num1","num1"){
return num1+num2;
}
var add = new Function("num1","num2","return num1+num2");
2.2获取函数的参数
function show(){
show.arguments.length;
}
BOM就是浏览器对象模型,即用JavaScript技术去操作浏览器的各个组成部分,为什么能操作呢?是因为浏览器就认识JavaScript,
它内置了JavaScript解析器,学习JavaScript的重要目的:操作HTMl/JSP/XML这些页面的节点
BOM 分类:
1.window 窗口
属性:
1.1 window.status //获取左下角的状态栏
1.2 window.opener //表示获取打开当前窗口的窗口引用
方法:
1.3 window.alert() //警告框
1.4 window.confirm();//返回boolean 提供供用户选择的按钮
1.5 window.
1.6 window.setTimeout(*,*);
一次性定时器
参数一:两种形式,一种是字符串的函数名,需加括号另一种是匿名函数。
function show(){}
setTimeout("show()",5*1000);
参数二:延时的时间,单位毫秒
1.7 window.setInterval(*,*);
周期性定时器
2.location 地址栏
location.reload(); 刷新页面
3.screen 屏幕
获取屏幕的宽高
window.screen.availHeight
windwo.screen.availWidth
4.document 文档
获取表单列表
window.document.forms
获取图像列表
window.document.images
window.document.links
document.bgColor 背景色
document.fgColor 前景色
5.history 历史栏
属性:length 长度
document.history
方法:
back 返回前一个页面
go() 跳转页面,0表示刷新
6.navigator 浏览器
获取浏览器的名字和版本
window.navigator.appName
window.navigator.appVersion
BOM事件:
静态事件:
在一个标签中书写js事件
onclick="" //单击事件
ondbclick="" //双击事件
onblur="" //失去焦点调用
动态事件:
在js脚本中,动态添加脚本推荐用动态事件,因为在书写HTML页面是不必关心JS事件, this在匿名函数中代表本对象。
onchange: //下拉列表选中项改变时候触发
onsubmit: //提交表单时触发,返回ture或者false。true代表提交表单,false表示不提交表单
DOM文档对象模型
D:表示HTML/JSP/XML
O:表示对象,以对象的方式访问Web页面的元素
M: DOM是一套规则,所有文档,加载到内存中后,都是一个倒状的树结构。
节点的四种类型:
1文档节点[document]
2元素节点[xxxElement]
3文本节点[xxxTextElement]
4属性节点[xxxAttributeElement]
DOM是一个规则
在代码中DOM规则表现为Node接口的API
1.定位元素节点
var e = document.getElementById("id"); if(e){ e.value //获取节点的value属性值 }else{ } var e = document.getElementByName("name"); //通过name属性获取,返回数组 var e = document.getElementByTagName("tag");//通过标签名获取,返回数组 hasChildNodes();//是否有子节点,只有元素节点有子节点
2.属性
nodeName 节点名称--只读
nodeType 节点类型--只读
nodeValue节点值 //元素节点为null, 读写(元素节点不能写)
replaceChild(newChild,oldChild);
var value = e.getArrtibute(""); 获取属性值
var node = e.getAttributeNode("");获取节点