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 ...
随机推荐
- 题解 P2872 【[USACO07DEC]道路建设Building Roads】
这道题真的是令人窒息,Kruskal调了贼久一直RE,最后发现数组大小稍微少了那么一点点.(也就10倍吧..) 言归正传,根据本人的分析(以及算法标签的提示),这是一道求最小生成树的题目,当然要注意已 ...
- ArcGIS api for javascript——加载图标
描述 这个示例展示了如何能用一个动画图片显示地图正在加载.在这个示例中,图片是一个小的动画GIF.当地图第一次加载或用户缩放和平移地图时显示图片.当所有图层加载完成图片消失. 这个示例是通过event ...
- android自己定义刷新类控件
android尽管定义了种类很丰富的控件.可是有的时候这些自己定义的控件还是不能满足我的要求,为了可以适配很多其它的需求,我们须要在原有的基础上进行自己定义控件. 今天我向大家介绍的就是android ...
- (iOS)确保设置话筒模式成功 AudioSessionSetProperty
本人编写过一个应用,须要把实时音频播放出来,而且要从话筒播放声音,为此,作下面操作: //Step 1: 初始化 AudioSessionInitialize(NULL,NULL, NULL, sel ...
- LINQ查询基础
一.什么是LINQ LINQ是Language Integrate Query的缩写,意为语言集成查询,是微软在.Net Framework 4.5版中推出的主要特性之一. 它为开发人员提供了统一的数 ...
- BZOJ 1103 DFS序+线段树
思路: 先搞出来DFS序 进入这个点 +1 出这个点 -1 线段树维护前缀和 (因为还要修改) 搞定 修改的时候只修改底下节点就OK了 (边权–>点权 不多说) //By SiriusRen # ...
- PHP高手进阶-LAMPer技能树
- javaScript for in循环遍历对象
for循环常被我们用来遍历数组,而如何遍历对象呢? 这时就需要用到for in循环了 写一个遍历对象名简写如下: for(var xxx in ooo){console.log(xxx)} 其中xxx ...
- 【Docker构建私有仓库】
Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制: [root@fedora ~]# cat /etc/docker/daemon.json { &quo ...
- rev---将文件中的每行内容以字符为单位反序输出
rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推.