1.什么是BOM,BOm有什么作用?

BOM和DOM、ES是JavaScript的重要三个组成部分;

其中BOM是专门操作浏览器的API,其实他就是一种兼容性问题,这其中问题比较大就是IE浏览器,谁叫它与众不同呢,记住BOM是他和另外两个部分不一样,另外两个都是有组织定义语法,都统一了,但是BOM就不一样,因为它是操作浏览器的,我们现在市面上有5种浏览器,所以谁也不听谁的,所以就出现了兼容性问题;

DOM我们之前讲过它是让js有能力去操作HTML和xml的,间接的操作样式它的语法就是由W3C定义的

这其中XML是什么:被设计用来传输和存储数据和现实数据的,就是自己可以定义标签,不像HTML一样,规定死了的

JavaScript是由ES(ECMAScript)定义的。

2.现在就具体了解一下BOM具体在浏览器上是操作那几个部分的

我们来分布了解

1代表的是history:意思是浏览器的历史记录

它可能和我们理解的历史记录不一样,他这个就像一个栈一样,就只有一个口,我们点一下网址成功的话就会把这个网址放到这个栈当中当,我们点第二个成功的网址就会有一个返回上一页的标致,就是把你之前访问的网址放到一起,当你返回的时候就会在这个栈里面找,同理当你返回上一页,就会出现下一页的指向,原理都一样,还有一个刷新,这三个就代表的浏览器的历史记录。

2代表location:它是窗口的URL,地址栏信息

就是这样我们可以通过后台找到自己的账号和密码,这也就证明了我们自以为自己的信息很保密的,在技术人员眼里那都是浮云,但是有很多的地址栏是加密过的其实我们自己可以试一下;

我在这提供一个方法:

<form action="">
账号:
<input type="" name="username">
密码:
<input type="password" name="password">
<input type="submit" name="submit1">
<!-- <button>提交</button> -->
</form>
<script type="text/javascript">
function parseSearch(){
var search = location.search;//获取location.search的值,并保存到search当中
// console.log(search);
var obj ={}//创建一个空数组
// var str = search.slice(1);//从1开始截取到最后
var splits = search.slice(1).split("&");//切割掉&
// console.log(splits);
for(var i = 0;i<splits.length;i++){//循环遍历i
var arr = splits[i].split("=");//将元素按等号切割
obj[arr[0]]=arr[1]; //把arr中0的位置按属性名保存到obj中,在把arr中的1位置按属性值保存到obj当中
}
return obj;
}
var a = parseSearch();
</script>

其实还可以在控制台直接试的

3代表的是浏览器的配置信息:在我的这个图里面不是很标准,并不是指的这三个点,而是指的它里面的内容

4代表的是document:DOM这是我们很熟悉的

5.screen代表的是显示的设备信息:这张图也不完全正确不是指的网页的界面,而是指的我们电脑的整个桌面像什么分辨率啊等

其实还有一个在图上没有标出来就是时间event,它是一个事件对象。

BOM的初级理解的更多相关文章

  1. JavaScript 词法、静态、动态作用域初级理解

    开始之前 由于本人也是JavaScript初学者,记录学习经过,怕以后会忘记. 对于JavaScript 初学者来说,最难的不是代码部分,而是对很多书籍中的术语的理解,大多时候想要理解一段JavaSc ...

  2. Java 对于继承的初级理解

    概念:继承,是指一个类的定义可以基于另外一个已存在的类,即子类继承父类,从而实现父类的代码的重用.两个类的关系:父类一般具有各个子类共性的特征,而子类可以增加一些更具个性的方法.类的继承具有传递性,即 ...

  3. 关于js中闭包的理解

    1.以前很不理解js中闭包的概念及使用,下面来看一下 function foo() { var a = 123; var b = 456; return function () { return a; ...

  4. 用js实现动画效果核心方式

    为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...

  5. c#中,委托Func的简单实践

    c# 委托Func的简单实践最近才真正的接触委托,所以针对Func类型的委托,做一个实践练习. 首先说一些我对委托的初级理解:"就是把方法当做参数,传进委托方法里". 我平时用到的 ...

  6. [JS] Topic - this is ”closure“

    Ref: 为什么要用闭包? 背景 闭包是自带运行环境的函数 发哥是自带背景音乐的男人~ 就是有权访问另一个函数作用域的变量的函数. 函数式编程的闭包,就是函数的调味包.方便用户调用函数.不必为了维护繁 ...

  7. 04C++const增强、枚举的增强

    #include <iostream> int main(void) { //const定义常量--->const意味着只读 const int a; int const b; // ...

  8. C++复习:对C的拓展

    简单的C++程序 求圆的周长和面积 数据描述:             半径,周长,面积均用实型数表示 数据处理:         输入半径 r:         计算周长 = 2*π*r :     ...

  9. C语言复习:字符串和一级指针

    字符串基本操作 字符数组初始化方法 int main() {     //1 {}号法 初始化列表     //数组初始化有2种方法 默认元素个数.指定元素个数     char buf1[] = { ...

随机推荐

  1. Windows安装MSYS2_切换zsh_整合cmder

    MSYS2是什么 MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境.同时它也是一个在Cygwin (POSIX 兼容性层) 和 Mi ...

  2. Linux之find命令操作技巧

    一.前言 工作中,我们常用find命令查找某些文件或者删除一些旧的日志文件,所以学会find命令的操作技巧就极为重要. 二.find常用参数选项 -depth 从指定目录下最深层的子目录开始查找 -m ...

  3. java获取每月的第一天和最后一天

    // 获取当前年份.月份.日期 Calendar cale = null; cale = Calendar.getInstance(); // 获取当月第一天和最后一天 SimpleDateForma ...

  4. Chrome浏览器字体设置低于12px无效

    在Chrome 在IE11                 本来以为是padding问题导致出现左右两边的底部不在同一直线(在IE上),在Chrome显示是正常的,查了一下,IE11和Chrome都是 ...

  5. django基础之day08,利用bulk_create 批量插入成千上万条数据

    bulk_create批量插入数据 models.py文件 class Book(models.Model): title=models.CharField(max_length=32) urls.p ...

  6. wc命令统计目录下所有文件行数

    想统计一下最近一个项目的代码行数,一个一个文件统计显然不是程序员的思维,wc命令可以统计一个文本的行数,结合find命令可以实现我的需求(注意符号):

  7. 关于JAVA的Random类的冷知识(转自菜鸟V)

    JAVA的Random类(转) Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基 ...

  8. ubuntu19_nginx_uwsgi_flask_apt安装

    ubuntu19_nginx_uwsgi_flask_apt安装 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-12-21. 在 ubuntu 19.04 apt 安装 apt i ...

  9. 创建基于ASP.NET core 3.1 的RazorPagesMovie项目(二)-应用模型类配合基架生成工具生成Razor页面

    本节中,将学习添加用于管理跨平台的SQLLite数据库中的电影的类Movie.从ASP.NET core 模板创建的应用使用SQLLite数据库. 应用模型类(Movie)配合Entity Frame ...

  10. C#线程学习笔记四:线程同步

    本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/21/ThreadsSynchronous.html,记录一下学习过程以备后续查用.     ...