背景: 

最近在着手项目的时候,意识到自己JS的欠缺。虽然看了不少JavaScript的视频,但真正项目中并不是经常遇到大且难的例子。所以JavaScript的基础还需要再打扎实,也就有了这一系列博客。这一系列更重视实用,理论部分可参看之前博客。

BOM(Browser Object Mode)浏览器对象模型,是Javascript的重要组成部分。它提供了一系列对象用于与浏览器窗口进行交互,这些对象通常统称为BOM。

由图中可看出,window对象是BOM中所有对象的父对象。

1、window对象——BOM核心

window,顾名思义,窗口对象。

它表示整个浏览器窗口,主要用来操作浏览器窗口。

对窗口的操作主要是对坐标的调整,屏幕的坐标如下图所示:

常用的方法有:

1)相对操作

moveBy——移动

resizeBy——调整大小

2)绝对操作

moveTo

resizeTo

  2、document 对象

它是window对象的一个属性,可以用来处理页面文档,但很多功能已不推荐使用。

常用方法示例:

<script type="text/javascript">
function test() {
//导航到新页面
document.URL = "http://www.baidu.com"
//输出内容
document.write(document.URL); //window.document.write(document.URL)作用相同
}
</script>

3、location 对象

它是window对象和document对象的属性,用来分析和设置页面的URL地址。

常用方法示例:

           //类似document的URL属性
location.href="http://baidu.com"; //重新加载页面
location.reload(true);

4、navigator 对象

被认为是最重要的对象,它包含了一系列浏览器信息的属性。

userAgent是最常用的属性,用来完成浏览器判断。

            var auserAgent = navigator.userAgent;
document.write(auserAgent);

显示结果:

       5、screen 对象

也是window对象的属性之一,主要用来获取用户的屏幕信息。

常用方法示例:

 document.write("屏幕的高度是:"+ screen.availHeight+" "+"屏幕的宽度是:"+screen.availWidth);

显示结果:

总结:

JavaScript是基础。JavaScript学不好,而直接去用JQuery中提供的函数的话,就有一种知识架空的感觉。知其然,不知其所以然。Js也可帮助你理解看懂Ajax,因此,JS学了要会用,要能用上,而不是写个简单的注册事件都要百度,这样效率太低,也太不专业了。

实用JS系列——BOM常用对象的更多相关文章

  1. DOM_05之DOM、BOM常用对象

    1.HTML DOM常用对象之Table:①创建:createTHead():createTBody():createTFoot():②删除:deleteTHead():deleteTFoot():③ ...

  2. Js基础之常用对象

    今天来总结一下js中的常用对象: 1.string对象 常用方法: charAt():返回在指定位置的字符. charCodeAt():返回在指定的位置的字符的 Unicode 编码. concat( ...

  3. 实用JS系列——事件类型

    事件就是用户对窗口上各种组件的操作.JS中的事件中的事件即由访问Web页面的用户引起的一系列的操作.一般用于浏览器和用户操作进行交互,例如:用户的单击事件等. 类型分为: 内联模型.脚本模型和DOM2 ...

  4. 实用JS系列——面向对象中的类和继承

    背景: 在最开始学习JavaScript时,我们就知道,它是一种脚本语言,也有面向对象机制.但它的面向对象继承机制是基于原型的,即Prototype.今天,我们就来找一下JS中OO的影子. 创建类 1 ...

  5. 迟早要知道的JS系列之常用数组方法

    常用数组方法 一.不会改变原始数组的方法: 即访问方法,下面的这些方法绝对不会改变调用它们的对象的值,只会返回一个新的数组或者返回一个其它的期望值. 1. concat() ** 语法:** Java ...

  6. ES 6 系列 - 对于常用对象的拓展 api

    本篇中学习并记录可能会比较常用的 api ,详细请自行查找相关资料. 一.字符串的拓展 es 6 加强了对于 Unicode 的支持.javascript 允许采用 \uxxxxx 的方式表示一个字符 ...

  7. DOM_04之常用对象及BOM

    1.添加:①var a=document.createElement("a"):②设置关键属性:③将元素添加到DOM树:a.parent.appendChild(a):b.pare ...

  8. js系列教程2-对象、构造函数、对象属性全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  9. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

随机推荐

  1. 解决nsis error!cant initialize plug-ins directory.please try again later

    情况1: 调用SectionEnd会释放掉dll初始化标记,所有Section都必须放在函数的最下面. 情况2: 有可能是栈里的数据错乱,特别注意的是,使用BgWorker.dll获取多线程能力的时候 ...

  2. RestKit ,一个用于更好支持RESTful风格服务器接口的iOS库

    简介 RestKit 是一个用于更好支持RESTful风格服务器接口的iOS库,可直接将联网获取的json/xml数据转换为iOS对象. 项目主页: RestKit 最新示例: 点击下载 注意: 如果 ...

  3. jquery ajax参数

    //默认请求参数 var _options = { url: null, // 请求连接地址 type: 'GET', // 请求类型(get,post) data: null, // post时请求 ...

  4. 使用winsw将spring-boot jar包注册成windows服务

    背景:最近的项目中使用spring-boot, https://github.com/kohsuke/winsw/releases <service> <id>YJPSS< ...

  5. RabbitMQ安装---rpm安装

    首先介绍一下个人的安装环境是Linux-centos7: 一.安装和配置rabbitmq的准备工作: 下载erlang:    wget http://www.rabbitmq.com/release ...

  6. jquery动态改变元素内容

    ● text() - 设置或返回所选元素的文本内容 ● html() - 设置或返回所选元素的内容(包括 HTML 标记) ● val() - 设置或返回表单字段的值(只针对表单或者输入框)

  7. python__系统 : socket_TCP补充,协程

    TCP 三次握手: SYN  -->  SYN+ACK  -->  ACK 四次挥手:  FIN --> ACK (FIN)  --> ACK TCP十种状态: LISTEN  ...

  8. BeanFactory和IOC控制反转

    之前在看spring,看IOC实在是云里雾里,包括看AOP也是云里雾里的,后来重新学习Java Web,做了一个简单的web项目,再之后看了崔希凡老师的视频,Day27和Day28两天的内容,真的很有 ...

  9. yii2邮箱发送

    yii2 邮件发送  163邮箱 1.在配置文件main-local.php components=>[]里面配置 'mailer' => [ 'class' => 'yii\swi ...

  10. PHP使用redis(一)

    1,connect 描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL 成功返回:TRUE;失败返回:FALSE <?php  $redis = ...