BOM 请给javascript一个说法-------Day33
楼市低迷,业主是不是该要个说法。黄金暴跌,谁来给大妈们一个说法。中国足球,敢不敢给大家一个说法。
给个说法,谁给,给谁,这该是哲学的范畴了吧。
可是,在这里。BOM是真真切切的给javascript一个说法,这到底是怎么个意思呢,我们慢慢来看。
我们先来回想下完整javascript的结构组成:ECMAjavascript + DOM + BOM。
ECMAjavascript我们记得非常清楚。这是核心。变量里存不同类型的值,运算符对照值。运算符改变值。语句描写叙述运算,语句合成函数方法,就好像一个实体设备的说明书,明明确白告诉了你,它须要如何的操作;DOM就像是耐不住寂寞的孩子。拿到说明书就開始操作。这里打一巴掌,那里踢一脚,偶尔还拆几个模块。结果设备这里掉个螺丝。那里少块漆。变的破旧不堪。而BOM呢。它是什么。它就是你最初做这个设备的初衷,你能看到的是它的功能,可能它不再美观,可能有些古老。可是。DOM不管你给我把梦想拆的多碎。我总能用BOM总能看到它的熠熠生辉。
BOM,browser object model的缩写,简称浏览器对象模型,又是个可爱到让人凌乱的答案,可恨的是它仍然是对的。
BOM不像DOM那么细腻,它没法整合整个文档的内容,可是它狂放,它要将它整个的实现,它进行的是浏览器和内容之间的交互,让你最直观的看到javascript的魅力,甚至javascript直接以BOM模型为入口来改变浏览器。可惜这个世界终究是多彩的,个体的差异永远无法忽略,狼有狼窝,鼠有鼠洞。它没有标准,仅仅看你就竟让谁来做,当然这里也就出现了兼容问题,这是后话,暂且不谈。
事实上最难的便是理解BOM的概念,上面这一大片非专业的文字是我的理解。尽管举例略有偏颇,但感觉意思应该是对的。
接下来,我们仅仅简介BOM的一些知识。先让我们看幅结构图
假设说DOM的操作是跟鼠标、键盘和页面本身内容相关联的话,BOM则强势的要多了些。history和location是窗体,screen和navigator是屏幕信息,缓冲文件cookie也在这里,scroll滚动栏它事实上也能够操作的,还有框架frames,甚至还有那些弹出框,这些每个都能够够写多篇介绍的。就不在这里多说了,假设还不够明了的话,来看看以下这幅:
事实上。BOM的存在。本身是不是就是给javascript最好的说法呢,果然存在即是合理的啊,这是我当前的理解,经年过后,不知道我会怎么看这时的我,至少我如今非常开心,我这样把它理解了,睡了。有些倦。
BOM 请给javascript一个说法-------Day33的更多相关文章
- 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数rand10(),该函数能够生成1-10的随机数。
题目: 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数,该函数能够生成1-10的随机数. 思路: 假如已知一个函数能够生成1-49的随机数,那么如何以此生成1-10的随机数呢? 解法 ...
- 请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件。
请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件. <a href=”mailto: zhangsan@d-heaven.com”>发邮件</ ...
- javascript 一个关于时间排序的算法(一个页面多个倒计时排序)
上周要做一个活动页面 秒杀列表页 需要一个时间的算法排序 自己琢磨了半天想了各种算法也没搞出来,后来问了下一个后台的php同学 他写了个算法给我看了下 ,刚开始看的时候觉得这就是个纯算法,不能转化成页 ...
- 礼仪或许就是尊重的还有一个说法——leo鉴书61
<Leo鉴书(第1辑)>已登陆百度阅读,今后还将不断更新,免费下载地址:http://t.cn/RvawZEx 礼仪从字面上就区分成"礼"和"仪"两 ...
- JavaScript一个猜数字游戏
效果图: 代码: <body> <script type="text/javascript"> window.onload = newgame; //页面载 ...
- JavaScript一个生成文档目录的实例
执行结果: <body> <script type="text/javascript"> /** * 这个模块注册一个可在页面加载完成后自动运行的匿名函数, ...
- JavaScript一个经典问题
看下面代码 <ul id="demo"> <li></li> <li></li> <li></li&g ...
- JavaScript一个类继承中实现
JavaScript类是默认原型对象继承: var Person = function() { this.name = "people"; this.hello = functio ...
- JavaScript一个google地图获取
<script type="text/javascript"> /** * 返回一个新创建的<img>元素,该元素用于在获取到地理位置信息后,显示一张Goo ...
随机推荐
- oracle 12c 关于wm_concat 的替换;LISTAGG
之所以用到了wm_concat函数.是想到达这样的结果集. 转为这样的===========> 返回这样的数据,易与配合echarts的数据准备. 看上去十分的方便,但是遗憾的是,oracle极 ...
- Laravel修炼:服务提供者
前言 上一篇博客文章收集了关于Laravel服务容器的相关知识(传送门),我们知道了服务容器主要有绑定和解析两个重要功能,那么Laravel这个框架集齐了如此多功能,我们项目可能还需要另外引入一些 ...
- oracle基础入门(四)
一:其实oracle的语法跟sql servce 挺像的只有一些个别的差异而已 1):安装Oracle的数据库一般它的表中会自带了两站表: 是 emp(员工表) , dept(部门) 单表查询 sel ...
- 题解 P1179 【数字统计】
嚯嚯嚯,这道题很显然是削弱版的51nod P1042. 那么显然我们需要使用数位DP解题. 思路大致是这样的: 对于每一个数字,考虑三种影响关系: 1. 它对低位的影响 2. 它对高位的影响 3. 高 ...
- 对GPDB查询计划的Motion结点的理解
GPDB在进行join查询时,可能会产生Motion结点 根据官方文档,总共有这几种Motion: redistribute 重分布(用hash取模的方法把join字段重分布到各个segment,相当 ...
- vim插件之delimitMate.vim
delimitMate.vim--这个插件主要是在插入模式下,用来自动补全括号.引号等 下载地址 http://www.vim.org/scripts/script.php?script_id=275 ...
- 学习 shell —— 创建序列数组
list/array 1. seq 方法创建 基本用法: $ a_num_seq = ($seq 5) $ echo $a_num_seq 1 2 3 4 5 a_num_seq 得到是字符串,不同之 ...
- mybatis:开发环境搭建--增删改查--多表联合查询(多对一)
什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或 ...
- Hi3531D搭建环境时,出现的问题
1.展开SDK包得时候,运行./sdk.unpack得时候出现: 原因:ubuntu14.04中默认得是dash,要将dash改成bash. 解决方法:sudo ln -fs /bin/bash /b ...
- Python学习第一篇
好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的 ...