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最好的说法呢,果然存在即是合理的啊,这是我当前的理解,经年过后,不知道我会怎么看这时的我,至少我如今非常开心,我这样把它理解了,睡了。有些倦。

时间: 2024-11-08 19:23:33

BOM 请给javascript一个说法-------Day33的相关文章

礼仪也许就是尊重的另一个说法——leo鉴书61

<Leo鉴书(第1辑)>已登陆百度阅读,今后还将不断更新,免费下载地址:http://t.cn/RvawZEx 礼仪从字面上就区分成"礼"和"仪"两部分,前者讲的是礼貌,而后者讲的是仪态.礼仪是个保障因素,学的超级到位未必能让我们在职场上一帆风顺:学的超级不好倒是可以让我们很快栽跟头.多了解一些这方面的知识,对日常生活与工作肯定是有益的. 最近整理课件要讲次"商务礼仪"的培训,听众都是"三高人士",即高知.高能.高

js反爬:请开启JavaScript并刷新该页

中国人民银行网站中的这个栏目为例:http://www.pbc.gov.cn/zhengcehuobisi/125207/125217/125925/17105/index1.html 如果直接用request.get(url),就会得到下图的JavaScript并刷新该页,跟着一堆乱七八糟代码. 简单来说,就是这个网页用了js设置cookie然后重定向到另一个网页,所以只是get这个url是不行的. 同理,如果清除cookie,在浏览器中f12,然后按f1禁用js 刷新页面,就会出现下图乱码,

10.2: 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下-------------答题者:徐潇瑞

10.2: 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下 - 当时的项目有多少用户,给用户多少价值? 现在还有人用吗? - 这个项目能否给我们团队继续开发,源代码/文档还有么? - 项目开发有什么经验和教训 - 对学好软件工程有什么建议 写成一个博客   #团队博客作业2 根据老师的作业要求,我们采访了以前本科认识的一个同学,他在读本科的时候出去实习,参与了一些项目.他参与了手机外卖app的开发,根据他的回答,当时用户有1

已知一个函数rand5()能够生成1-5的随机数,请给出一个函数,该函数能够生成1-7的随机数。

这是朋友去笔试的一道题,有点考智商,当时我还很自信的说 random5+random5/2  不就可以了 他说不行,然后我就在网上搜了一下 有一道类似的题目 题目: 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数,该函数能够生成1-10的随机数. 思路: 假如已知一个函数能够生成1-49的随机数,那么如何以此生成1-10的随机数呢? 解法: 该解法基于一种叫做拒绝采样的方法.主要思想是只要产生一个目标范围内的随机数,则直接返回.如果产生的随机数不在目标范围内,则丢弃该值,重新取

请简述javascript的数据类型种类?

答案: javascript里的数据类型分为基本数据类型 和 引用数据类型两种, 其中, 基本数据类型包括5个:数值,字符串,布尔,null, undefined 引用数据类型包括3个:array,function,object 请简述javascript的数据类型种类?,布布扣,bubuko.com

javascript 一个页面多个tab选项卡效果

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>javascript 一个页面多个tab选项卡效果</title> <script> var tab=function(id,event){ var oDiv=document.getElementById(id); var oBtn=oDiv.getElementsByTagName(

如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算

package interview_10_10; import org.junit.Test; public class T1 { /** * 如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算). */ @Test public void test1() { String number1 = "4324328732789"; String number2 = "2383244324324325898

JavaScript一个猜数字游戏

效果图: 代码: <body> <script type="text/javascript"> window.onload = newgame; //页面载入的时候就开始一个新的游戏 window.onpopstate = popState; //处理历史记录相关事件 var state,ui; //全局变量,在newgame()方法中会对其初始化 function newgame( playagin ){ //开始一个新的猜数字游戏 //初始化一个包含需要的文

javascript 一个关于时间排序的算法(一个页面多个倒计时排序)

上周要做一个活动页面 秒杀列表页 需要一个时间的算法排序 自己琢磨了半天想了各种算法也没搞出来,后来问了下一个后台的php同学 他写了个算法给我看了下 ,刚开始看的时候觉得这就是个纯算法,不能转化成页面的dom效果,可是再看了两遍发现可以 于是我就改了改 实现了 不禁感叹 确实蛮赞的 于是就博一客: 页面需求是:从11点到20点 每隔一个小时一场秒杀 如果是当前时间就显示正在秒杀 之前的商品就往最后排 以此类推 类似最开始的11点顺序是 11,12,13,14,15,16,17,18,19,20