javascript笔记5-BOM
Javascript应用的平台很多,不仅仅针对Web。在Web中使用Javascript,BOM(browser object model,浏览器对象模型)是核心。
BOM提供了很多对象,用于访问浏览器的功能。
- window对象。
- BOM的核心对象是window,它表示浏览器的一个实例。
- window有双重角色,一个是BOM提供的浏览器对象,javascript通过window来访问浏览器的各个功能、属性。比如:

- window的另一重角色,是javascript的Global对象。
Global对象不显式存在,但是它是一个对象,全局定义的属性、方法都属于Global对象。如果让Global显式存在,那么window就是一个实例。如此一来,那些全局属性、方法都能通过window来访问了。比如:

- 如果页面包含框架(frame),那么每个框架都有自己的window对象,而且保存在frames集合中。
- 最外层框架就是浏览器窗口。top对象就指向这个框架。如图:

- window.open()有两个应用:
- 导航到另一个URL;
- 打开一个新的浏览器窗口。
- 如果要过一会儿再执行某个方法,使用:setTimeout();
温馨提示,这些方法都属于window对象,window不用显式写出来。当然,如果你写window.setTimeout...也是可以的。
- 如果要每隔一段时间就执行某个方法,使用:setInterval();
- 另外还有一些对话框函数:alert()、confirm()、prompt();
- location对象
- location对象提供了当前窗口中加载的文档相关的信息以及一些导航信息。
- location属于window对象的一个属性,同时又是document(属于DOM)对象的属性。
所以,window.location和document.location引用的是同一个对象;
- location的位置操作:
- 打开新的url:
location.assign("www.baidu.com");
或
window.location="www.baidu.com";
或
location.href="www.baidu.com";
- history对象
- history对象保存着用户浏览的历史记录,它也是window对象的属性;
history.go(-1);//后退一页
history.go(2);//前进两页;
history.go("www.xxx.com");//跳转到最近的指定url;
history.back();//后退一页;
history.forward();//前进一页;
- history对象保存着用户浏览的历史记录,它也是window对象的属性;
- 其他对象:
- navigator对象:识别客户端浏览器,用以检测插件、注册处理程序等。
- screen对象:javaweb编程中不太使用。
javascript笔记5-BOM的更多相关文章
- 【学习笔记】:JavaScript中的BOM对象
JavaScript中的BOM对象 BOM(Browser Object Model):浏览器对象模型. BOM可用于对浏览器窗口进行访问,但BOM没有相关的标准,所以根据浏览器的不同,其中定义的对象 ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...
- [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
“1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法
js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- javascript系列-class8.BOM
1.浏览器对象模型( browser object model ) 什么是BOM? 提起BOM就不得不提起JavaScript的构成.ECMAScript为JavaScript的核心,但是要 ...
- JavaScript笔记目录
JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待
随机推荐
- 第一堂java web课
一天的课程上完,虽然很累,但是因为自己的收获,所以我很开心. 第一节课老师带我们大家学习了HTML,学了很多标签,比如:html,head,body <html></html> ...
- selenium+python笔记6
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 将登陆动作封装成function "" ...
- 七天学会NodeJS (原生NodeJS 学习资料 来自淘宝技术团队)
NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. ...
- 完美解决Informix的中文乱码问题
完美解决Informix的中文乱码问题 Informix是IBM旗下的一款数据库,要不是这个项目需要,估计这辈子我都不知道居然还有这么一款数据库.想来公司的项目遍布全国各地,各种部署环境各种应用场景 ...
- 《javascript高级程序设计》第七章 递归recursion
7.1 递归7.2 闭包 7.2.1 闭包与变量 7.2.2 关于this 对象 7.2.3 内存泄漏 7.3 模仿块级作用域7.4 私有变量 7.4.1 静态私有变量 7.4.2 模块模式 7.4. ...
- python 使用*args 和**kwargs
def fun_var_args(farg, *args): print "arg:", farg for value in args: print "another a ...
- androidStudio中如何加载字体资源?
在android中字体的格式总是不能尽善尽美的显示出来 , 于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加载字体的方式来使用android中不曾提供的字体; ...
- hdu----(1466)计算直线的交点数(dp)
计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- System.OutOfMemoryException: 内存不足。(转)
主要是网站生成水印图片的时候遇到的 原文地址:http://www.cnblogs.com/longgel/archive/2010/03/24/1693776.html 今天调试asp.net 程序 ...
- 转载 Javascript继承两种形式详解
一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面.这里仅仅是把自己的学习体会拿出来分 ...