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 ...
随机推荐
- 20180929 北京大学 人工智能实践:Tensorflow笔记07
(完)
- 紫书 例题 10-15 UVa 1638(递推)
从大到小安排杆子 分三种情况 (1)插到最左边,那么左边看到了杆子会多一个 (2)插到最右边,那么右边看到了杆子会多一个 (3)插到中间边,那么不影响左边和右边看到的杆子数 具体看代码 #includ ...
- Ext4.0 经常使用代码整理(一)
一:经常使用工具条上的定义 // 工具条 var toolbar = Ext.create("Ext.Toolbar", { items : [ yearC ...
- 小白学开发(iOS)OC_ 经常使用结构体(2015-08-14)
// // main.m // 经常使用结构体 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin. All rig ...
- js插件---图片懒加载lazyload
js插件---图片懒加载lazyload 一.总结 一句话总结:使用异常简单,src里面放加载的图片,data-original里面放原图片,不懂的位置去官网或者github找API就好. 1.laz ...
- 29.AngularJS 简介
转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 H ...
- 99.重载[] * -> ->*
#include "mainwindow.h" #include <QApplication> #include <QPushButton>> //重 ...
- VC++中的延时函数
原文链接:http://www.educity.cn/develop/478947.html VC中提供了很多关于时间操作的函数,编写程序时我们可以跟据定时的不同精度要求选择不同的时间函数来完成定时和 ...
- 通过不修改arc.archives.class.php而保留原有样式调上一篇下
今天织梦58站长分享一个织梦内容页上下篇的调用方法,估计在大家在仿站的过程中,经常会碰到原站的上下篇很美观,比如如图类似的这种:或,但是用织梦原有调用上下篇的标签来调用,总达不到我们想要的效果,找不到 ...
- 原生js模拟jquery中的addClass和removeClass方法
js代码: //添加类 function addClass(obj,className) { if(obj.className == '') { //如果没有class obj.className = ...