我们知道,JavaScript共由三部分组成:EMCAScript(基本语法)、BOM(浏览器对象模型)、DOM。

在浏览器对象模型中,把浏览器的各个部分都用了一个对象进行描述,如果我们要操作浏览器的一些属性,就可以通过浏览器对象模型的对象进行操作

下面我们来介绍一下浏览器对象模型的基本的对象:

window  代表了一个新开的窗口
location 代表了地址栏对象。
screen 代表了整个屏幕的对象

window对象常用的方法

//open()   打开一个新的窗口(参数一:打开的地址,参数二:是否为新的浏览器窗口,参数三:新窗口属性,参数四:用来替代的地址)
window.open("2.html","_blank","height=400px,width=600px,toobar=no,location=yes,top=200px","用来替代的地址"); //resizeTo() 将窗口的大小更改为指定的宽度和高度值
window.resizeTo(300,200); //moveBy() 相对于原来的窗口移动指定的x、y值
window.moveBy(100,0);//谷歌浏览器貌似不支持了 //moveTo() 将窗口左上角的屏幕位置移动到指定的 x 和 y 位置。
window.moveTo(100,0);//谷歌浏览器貌似不支持了 //setInterval() 每经过指定毫秒值后就会执行指定的代码 //clearInterval() 根据一个任务的ID取消的定时任务 //setTimeout() 经过指定毫秒值后执行指定 的代码一次

事件

定义:当发生一个事件之后,会触发特定的方法

那么如何注册一个事件呢?

  • 事件的注册方式
 //方式一: 直接在html元素上注册
<body onload="ready()"> function ready(){
alert("body的元素被加载完毕了..");
} //方式二:先在js代码找到对应的对象再注册,一般推荐使用这种方式,可以增强可维护性 var bodyNode = document.getElementById("body"); bodyNode.onload = function(){
alert("body的元素被加载完毕");
}
  • 常用的事件
鼠标点击相关:
onclick 在用户用鼠标左键单击对象时触发。
ondblclick 当用户双击对象时触发。
onmousedown 当用户用任何鼠标按钮单击对象时触发。
onmouseup 当用户在鼠标位于对象之上时释放鼠标按钮时触发。 鼠标移动相关:
onmouseout 当用户将鼠标指针移出对象边界时触发。
onmousemove 当用户将鼠标划过对象时触发。 焦点相关的:
onblur 在对象失去输入焦点时触发。
onfocus 当对象获得焦点时触发。 其他:
onchange 当对象或选中区的内容改变时触发。
onload 在浏览器完成对象的装载后立即触发。
onsubmit 当表单将要被提交时触发。

location对象

此对象是浏览器地址栏对象,所以我们能够改变地址栏信息,或者进行其他的一些改变。

想要获取到url只需要使用location.href即可。

有两个比较常用的东西:

//href : 设置以及获取地址栏的对象
location.href = "http://www.baidu.com";//每天总在莫名其妙的给百度打广告。。 //reload() 刷新当前的页面
location.reload();

screen对象

  • 常用的方法
availHeight 获取系统屏幕的工作区域高度,排除 Microsoft Windows 任务栏。
availWidth 获取系统屏幕的工作区域宽度,排除 Windows 任务栏。
height 获取屏幕的垂直分辨率。
width 获取屏幕的水平分辨率。
  • 使用方法
document.write("获取系统屏幕的工作区域高度:"+screen.availHeight+"<br/>");
document.write("获取系统屏幕的工作区域宽度:"+screen.availWidth+"<br/>");
document.write("获取屏幕的垂直分辨率:"+screen.height+"<br/>");
document.write("获取屏幕的水平分辨率:"+screen.width+"<br/>");

这一讲我们学习的是BOM(浏览器对象模型)

从下一节开始,我们将开始学习JavaScript的最后一个部分,DOM编程。

JavaScript学习总结(六)的更多相关文章

  1. JavaScript学习总结(六)——前端模块化开发

    早期的javascript版本没有块级作用域.没有类.没有包.也没有模块,这样会带来一些问题,如复用.依赖.冲突.代码组织混乱等,随着前端的膨胀,模块化显得非常迫切. 前端模块化规范如下: 一.前端模 ...

  2. JavaScript学习总结(六)——JavaScript判断数据类型总结

    最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一.JS中的数据类型 1.数值型(Number):包括整数.浮 ...

  3. arcgis api for javascript 学习(六) 地图打印

    1.本文应用arcgis api for javascript对发布的动态地图进行打印,打印的为PDF格式,打印出来如图: 2.需要特别注意的是:我们在运行代码前,需要打开PrintingTools, ...

  4. JavaScript学习 - 基础(六) - DOM基础操作

    DOM: DOM定义了访问HTML 和XML 文档的标准:1.核心DOM 针对结构化文档的标准模型2.XMK DOM 针对XML文档的标准模型3.HTML DOM 针对HTML文档的标准模型 DOM节 ...

  5. JavaScript学习(六)

    这里要注意: 1.num为NaN(因为str的开头不是数字) 2.NaN和NaN是不等的 3.NaN也是number.

  6. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  7. JavaScript学习总结——转

    JavaScript学习总结(一)——JavaScript基础 JavaScript学习总结(二)——逻辑Not运算符详解 JavaScript学习总结(三)——逻辑And运算符详解 JavaScri ...

  8. 前端学习 第六弹: javascript中的函数与闭包

    前端学习 第六弹:  javascript中的函数与闭包 当function里嵌套function时,内部的function可以访问外部function里的变量 function foo(x) {   ...

  9. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  10. Javascript学习5 - 函数

    原文:Javascript学习5 - 函数 在Javascript中,函数和对象是交织在一起的.有些函数的特性与对象相关联.这一点的内容在第六部分会讨论到. 这一部分主要讨论函数与其它比较熟悉的语言( ...

随机推荐

  1. springboot - 返回xml error 从自定义的 ErrorController

    1.概览 2.在<springboot - 返回JSON error 从自定义的 ErrorController>基础上,做如下调整: 1).新增Attribute类和Error类 pac ...

  2. 2020/2/21 fiyocms代码审计

    0x00 前言 上午上了网课,一上午就装好了cms,下午还有网课,要是结束的早就进行审计. 解决了一下phpstudy使用过程中: Forbidden You don't have permissio ...

  3. springBoot (适合ssm)

    很多小白在学ssm的时候,选用idea,网上应该有很多教程,创建maven项目,创建spring项目的都有,五花八门. 最近接触了springBoot,这个项目类型适用于ssm,还不用去创建很多文件夹 ...

  4. 【pwnable.kr】blackjack

    又一道pwnable nc pwnable.kr 9009 读题找到源代码在:http://cboard.cprogramming.com/c-programming/114023-simple-bl ...

  5. Mysql自动备份与还原 转

    Mysql自动备份与还原 一.自动备份:将以下代码保存为*.bat批处理脚本,然后再添加Windows定时作业,如每天凌晨2点执行:set s=%date:~0,4%%date:~5,2%%date: ...

  6. Python基础笔记:使用dict和set

    dict 就和 C语言中的 map 的作用一样.查找非常快,以空间换时间! dict的使用: >>> d={'Mike':66,'Bob':77,'John':88} #定义一个di ...

  7. Nginx+uwsgi+django部署项目

    nginx把请求转发给uwsgi,然后把uwsgi处理得到的结果返回给浏览器. 安装nginx: yum -y install gcc pcre-devel openssl-devel #安装Ngin ...

  8. windows Driver 查询指定键值

    NTSTATUS status; HANDLE hKey = NULL; OBJECT_ATTRIBUTES oa; UNICODE_STRING strPath = RTL_CONSTANT_STR ...

  9. 从GitLab上拉到本地仓库的项目导入到eclipse中

    拉项目 在本地仓库中右键git clone,填写地址 OK, 然后在拉下来的项目上面右键检出创建dev分支. 要将新分支导入到eclipse中, 如果是没有导入过就选第三个,导入过就选第一个. 然后O ...

  10. ORACLE异库DBLink创建以及使用

    遇到一个问题,两张库数据需要同步,但是数据量很大,落地迁移时间成本太大,这个时候找到一种方法就是DBLink 使用场景说明: A转移数据到B,需要在B上面创建此DBLink,然后使用. 创建方法: - ...