一、bom
1、什么是bom?
browser object model(浏览器对象模型)。
指浏览器支持的一些对象,主要包括window,document,
navigator,location,screen以及XmlHttpRequest。通过
这些对象,可以实现:
a,窗口操作
b,浏览器地址信息
c,屏幕分辨率
d,浏览器本身包含的一些内部信息
e,发送异步请求
bom模型并没有标准化。
2,window对象
a、open方法
打开一个新的窗口,例如:
window.open
('1.html', 'new', 'height=100, width=200,
top=0, left=0,
toolbar=no, menubar=no,
scrollbars=no, resizable=no, location=no, status=no');
'1.html' 弹出窗口的文件名;
'new' 弹出窗口的名字;如果该参数指定了一个已经存在的窗口,则 open() 方法不再创建一个新窗口,而只是返回对指定窗口的句柄。
height=100 窗口高度;
width=200 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar 是否显示菜单栏。
scrollbars 是否显示滚动栏。
resizable=no 是否允许改变窗口大小,yes为是 。
location=no 是否显示地址栏,yes为是。
status=no 是否显示状态栏内的信息。
close方法
关闭窗口
返回值为窗口对象句柄
document属性
获得Document对象
location属性
获得Location对象
alert方法
弹出一个警告对话框
confirm方法
弹出一个选择对话框,返回用户是否确认。
该方法会返回true/false。
prompt方法
弹出一个供用户输入信息的对话框,返回用户
输入信息。
setTimeout方法
用于在指定的毫秒数后调用函数。
setTimeout(fn,毫秒);
其中,fn是要调用的函数
setInterval方法
按照指定的周期(以毫秒计)来调用函数。
var taskId = setInterval(fn,毫秒);
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval()
返回的 ID 值可用作 clearInterval() 方法的参数。
clearInterval方法
clearInterval(taskId);
3、location对象
封装了浏览器地址信息
location.href='abc.html'
4、document对象
a,getElementById()
b,createElement()
c,write():直接向网页输入相关的信息
5、navigator对象
封装了浏览器本身的信息
6、screen对象
封装了屏幕大小与分辨率
二、事件处理机制
1、事件绑订
当用户对网页中的某个标记做了某种操作,比如
点击一个链接,会产生相应的事件,或者,浏览器
自身也会产生一些事件,比如,当浏览器将整个页面
加载完成,会产生load事件。可以为标记绑订相应的
事件处理代码,这样,当该标记产生事件以后,浏览器
将会调用事先绑订的代码来处理该事件。
2、事件绑订的方式
1)绑订到html标记之上。
比如:
<input type="button" οnclick="js代码"/>
2)绑订到dom节点之上。
比如:
var obj = document.getElementById(id);
obj.onclick = js代码。
3)使用浏览器自已的绑订方式(因为这种方式
与浏览器相关,比如ie的绑订方式在firefox中
是不能运行的,所以这种方式尽量少用)。
3、如何获得事件对象
1)ie,直接使用event
2)firefox,需要在函数中添加一个event参数
4、事件对象的作用
1)获得鼠标点击的坐标
event.clientX
event.clientY
2)找到事件源
a, ie,使用event.srcElement
b,firefox,使用event.target
5、事件冒泡
1)什么是事件冒泡
子节点产生的事件对象,会向上抛出给父节点。
2)怎样取消冒泡
event.cancelBubble = true;
三、引用类型
javascript一种面向对象的语言,但是,它的类的
定义与java不同,没有类的严格的定义。
1、Object
所有的引用类型都是Object的子类型。
Object类型的作用是,创建一个javascript对象。
var obj = new Object();
obj.属性名=属性值;
使用Object创建对象的原因,是为了方便传递
参数。也就是说,可以将多个参数封装到一个对象
里面,传递给某个方法。
2、Array(略)
3、Date
4、RegExp
var reg = /正则表达式/模式;
其中
模式有:
g:搜索全局
i:忽略大小写
reg.test(string);
5、Function类型 (所有的函数都是
Function类型的实例)
1)使用函数创建一个新的类型(参见js10.html)
2)函数其本质是一个对象(参见js11.html)
变量的作用域
活动对象:
浏览器在读取javascript脚本时,会将
变量的定义与函数的定义先保存到一个内置
的对象(该对象称为活动对象)上面。
比如:
<script>
var s1 = 'abc';
var s2 = 'cba';
function f1(){
alert(s2); //undefined
var s2 = "bcd";
alert(s1);
}
f1();
</script>
首先,浏览器在读到<scrip>标记时,
会在全局的活动对象上面,保存s1,s2及f1
的定义。接下来,在读取f1()里面的代码时,
会为该函数创建一个局部的活动对象,并且,
保存s2的定义在该对象上。
以上代码的执行结果是undefined。原因是:
浏览器在执行alert(s2)时,先会在局部的活动
对象上查找有没有s2的定义,因为有定义,所以,
不会向上查找s2的定义了,又因为在执行alert(s2)
时,var s2 = "bcd";没有执行,所以结果是
undefined。
1、什么是bom?
browser object model(浏览器对象模型)。
指浏览器支持的一些对象,主要包括window,document,
navigator,location,screen以及XmlHttpRequest。通过
这些对象,可以实现:
a,窗口操作
b,浏览器地址信息
c,屏幕分辨率
d,浏览器本身包含的一些内部信息
e,发送异步请求
bom模型并没有标准化。
2,window对象
a、open方法
打开一个新的窗口,例如:
window.open
('1.html', 'new', 'height=100, width=200,
top=0, left=0,
toolbar=no, menubar=no,
scrollbars=no, resizable=no, location=no, status=no');
'1.html' 弹出窗口的文件名;
'new' 弹出窗口的名字;如果该参数指定了一个已经存在的窗口,则 open() 方法不再创建一个新窗口,而只是返回对指定窗口的句柄。
height=100 窗口高度;
width=200 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar 是否显示菜单栏。
scrollbars 是否显示滚动栏。
resizable=no 是否允许改变窗口大小,yes为是 。
location=no 是否显示地址栏,yes为是。
status=no 是否显示状态栏内的信息。
close方法
关闭窗口
返回值为窗口对象句柄
document属性
获得Document对象
location属性
获得Location对象
alert方法
弹出一个警告对话框
confirm方法
弹出一个选择对话框,返回用户是否确认。
该方法会返回true/false。
prompt方法
弹出一个供用户输入信息的对话框,返回用户
输入信息。
setTimeout方法
用于在指定的毫秒数后调用函数。
setTimeout(fn,毫秒);
其中,fn是要调用的函数
setInterval方法
按照指定的周期(以毫秒计)来调用函数。
var taskId = setInterval(fn,毫秒);
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval()
返回的 ID 值可用作 clearInterval() 方法的参数。
clearInterval方法
clearInterval(taskId);
3、location对象
封装了浏览器地址信息
location.href='abc.html'
4、document对象
a,getElementById()
b,createElement()
c,write():直接向网页输入相关的信息
5、navigator对象
封装了浏览器本身的信息
6、screen对象
封装了屏幕大小与分辨率
二、事件处理机制
1、事件绑订
当用户对网页中的某个标记做了某种操作,比如
点击一个链接,会产生相应的事件,或者,浏览器
自身也会产生一些事件,比如,当浏览器将整个页面
加载完成,会产生load事件。可以为标记绑订相应的
事件处理代码,这样,当该标记产生事件以后,浏览器
将会调用事先绑订的代码来处理该事件。
2、事件绑订的方式
1)绑订到html标记之上。
比如:
<input type="button" οnclick="js代码"/>
2)绑订到dom节点之上。
比如:
var obj = document.getElementById(id);
obj.onclick = js代码。
3)使用浏览器自已的绑订方式(因为这种方式
与浏览器相关,比如ie的绑订方式在firefox中
是不能运行的,所以这种方式尽量少用)。
3、如何获得事件对象
1)ie,直接使用event
2)firefox,需要在函数中添加一个event参数
4、事件对象的作用
1)获得鼠标点击的坐标
event.clientX
event.clientY
2)找到事件源
a, ie,使用event.srcElement
b,firefox,使用event.target
5、事件冒泡
1)什么是事件冒泡
子节点产生的事件对象,会向上抛出给父节点。
2)怎样取消冒泡
event.cancelBubble = true;
三、引用类型
javascript一种面向对象的语言,但是,它的类的
定义与java不同,没有类的严格的定义。
1、Object
所有的引用类型都是Object的子类型。
Object类型的作用是,创建一个javascript对象。
var obj = new Object();
obj.属性名=属性值;
使用Object创建对象的原因,是为了方便传递
参数。也就是说,可以将多个参数封装到一个对象
里面,传递给某个方法。
2、Array(略)
3、Date
4、RegExp
var reg = /正则表达式/模式;
其中
模式有:
g:搜索全局
i:忽略大小写
reg.test(string);
5、Function类型 (所有的函数都是
Function类型的实例)
1)使用函数创建一个新的类型(参见js10.html)
2)函数其本质是一个对象(参见js11.html)
变量的作用域
活动对象:
浏览器在读取javascript脚本时,会将
变量的定义与函数的定义先保存到一个内置
的对象(该对象称为活动对象)上面。
比如:
<script>
var s1 = 'abc';
var s2 = 'cba';
function f1(){
alert(s2); //undefined
var s2 = "bcd";
alert(s1);
}
f1();
</script>
首先,浏览器在读到<scrip>标记时,
会在全局的活动对象上面,保存s1,s2及f1
的定义。接下来,在读取f1()里面的代码时,
会为该函数创建一个局部的活动对象,并且,
保存s2的定义在该对象上。
以上代码的执行结果是undefined。原因是:
浏览器在执行alert(s2)时,先会在局部的活动
对象上查找有没有s2的定义,因为有定义,所以,
不会向上查找s2的定义了,又因为在执行alert(s2)
时,var s2 = "bcd";没有执行,所以结果是
undefined。