JavaScript学习日志(四):BOM】的更多相关文章

title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅MDN Web 文档 BOM Browser Object Model,浏览器对象模型. BOM提供了很多用于访问浏览器的功能,这些功能与任何网页内容无关. BOM缺少事实上的规范,因此浏览器之间共有的对象就成了事实上的标准. 没有所谓的标准BOM实现或者标准BOM接口. 图片来源于网络: window对象 w…
javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业内公认的两本权威圣经,无奈有些地方两本书会有一些说辞不一致,那我加入了一些自我理解,尽量将两者融会贯通,通读之后发现,js确实魅力无限,每次看一遍都会有新的理解和感悟,所以这系列我会持续更新,一旦有新的理解我会立即写下来,不断的推翻重建再推翻再重建,我很享受这个自我认知不断更新的过程. 我知道学习js的路很漫…
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学计数法表示数,参数指定小数位个数  toPrecision() 方法自动判断调用toFixed()或toExponential()方法,参数指定所有数的位数 复制代码代码如下: var num = 99;  alert(toFixed(2)); //99.00  alert(toExponentia…
Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身也是一个DOM树,我们可以用JavaScript来获取用户输入的内容,或者对一个输入框设置新的内容. 下面是一些常用的HTML表单的输入控件: <input type="text" id="" name=""> <input typ…
BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持<frame>标签,但是支持<iframe>标签 3,js中window对象的top,opener,parent,self属性(虽然对于window来说,它们是一种属性,但是也可以直接用他们作为对象)的区别: top:该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层…
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用,在jQuery官网有许多插件: 一.插件开发基础 1.1.$.extend 在jQuery根命名空间下直接调用的方法可以认为是jQuery的静态方法或属性,常常使用$.方法名来调用,使用$.extend这个静态方法可以完成两个功能: 1.1.1.扩展属性或方法给jQuery 比如我们想给jQuery…
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用,在jQuery官网有许多插件: 一.插件开发基础 1.1.$.extend 在jQuery根命名空间下直接调用的方法可以认为是jQuery的静态方法或属性,常常使用$.方法名来调用,使用$.extend这个静态方法可以完成两个功能: 1.1.1.扩展属性或方法给jQuery 比如我们想给jQuery…
BOM的核心对象是window,它既表示浏览器窗口以及页面可见区域,同时也是ECMAScript中的Globe对象,所有的全局变量和函数都是它的属性,并且所有的原声函数以及其他函数也都存在于它的命名空间下. 一,window窗口相关设置 1)获取浏览器窗口在显示屏的位置 根据浏览器不同,可以采用screenLeft,screenTop或者screenX,screenY,跨浏览器的代码如下: //获取浏览器的位置 var leftPos=(typeof window.screenLeft =='n…
这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!!!还得重新继续敲,所以提醒各位笔者,永远不要相信所谓的时时保存,敲一点记得保存一点!坑!!! 一,概念梳理 1,事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间: 2,事件流:描述的是从页面中接收事件的顺序:IE团队提出的是事件冒泡流,Netscape团队提出的是事件捕获流: 3,事件冒泡:事件…
一,基本定义 DOM是针对HTML和XML文档的API,根据W3C的HTML DOM标准,html文档中所以内容(无论是元素还是标签还是注释还是元素属性)都是节点. 二,Node类型:每一个节点都含有一个nodeType属性,对应着不同的数字,一共有12个,这里只记住前三个: 1.代表元素节点,也是最多的 2.代表属性节点,就是元素的属性,也是节点 3.代表文本,一个空格,一个回车都是代表#text节点 9.代表document文档 如果nodeType=1,元素节点,则nodeName就是标签…
一,变量分为两种类型:基本类型值和引用类型值,基本类型包括:Undefined, String, Boolean, Null, Number,我们无法给基本类型值添加属性: 二,复制变量值的时候,如果改变复制的值,那么原来的值是否会变化? 这个取决于原来的值是什么类型: 1.基本类型值:只是存在于栈内存中,如果复制,相当于栈内存里又多了一个值,两者相互独立,改变其中一个,另一个不变 2.引用类型值:实际上是指向堆内存中的一个object,复制相当于多了一个指针,也是指向这个堆内存中的一小块obj…
一.this 在JavaScript中this表示:谁调用当前函数this就指向谁,不知道调用者时this指向window. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化,当然也可以使用call.apply修改this指向的对象.它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用 1.0.猜猜答案 代码如下: <!DOCTYPE html> <html> <head> <meta…
目录 1.Window 2.Window Screen 3.Window Location 4.Window History 5.Window Navigator 浏览器对象模型(Browser Object Model,BOM)使 JavaScript 可以与浏览器进行交互,以下介绍浏览器对象模型中常用的对象 1.Window window 对象表示浏览器窗口,全局变量是 window 对象的属性,全局函数是 window 对象的方法 (1)属性 引用 self:对当前窗口的引用 parent…
一.回顾 1.文件上传 1.1引入fileupload的jar包 1.2在springmvc的配置文件中引入CommonsMutilpartResolver文件上传解析器 1.3在控制层在写入代码 2.拦截器 2.1创建一个类实现HandlerInterceptor接口 2.2在springmvc配置文件中配置该拦截器 3.数据校验 3.1引入Hibernate-validate的jar包 3.2在相应的实体类属性上加上校验注解 3.3在控制层接受参数的地方加上 @Valid 如果参数不符合校验…
1.window 所有浏览器都支持window对象,它表示浏览器窗口本身. 所有 JavaScript 全局对象.函数以及变量均自动成为 window 对象的成员. 全局变量是 window 对象的属性. 全局函数是 window 对象的方法. 甚至 HTML DOM 的 document 也是 window 对象的属性之一. /* * 对于Internet Explorer.Chrome.Firefox.Opera 以及 Safari:window.innerWidth * 对于 Intern…
装饰器模式(Decorator) 在装饰器模式中,可以在运行时给一个对象动态的添加额外的功能.当和静态类打交道的时候(static classes),这可能是一个挑战.但在JavaScript中,对象是可变的,所以给对象添加额外功能的的过程在JavaScript中本身就不是问题. 装饰器一个方便的功能就是期望行为(expected behavior)的定制和配置.你从你的简单对象开始,只有一些基础功能.然后你从一个可访问的包装器池中挑出那些你想用来增强你的简单对象的包装器并按一定顺序装饰,如果顺…
javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分: 1,如果语句独占一行 如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号. (如何判断是否正确解析?你在控制台执行当前语句,不报错就可以-.-) 那么反之,如果当前语句不能被正确解析,那么就不会添加分号,而是将此行的末尾和下一行的开头连起来解析,所以就会产生其他问题. a=1 b=1; // 第一个分号可以省略 var a a = 1 // 解析为 var a; a = 1; 因为等号是没办法解析的,…
在JavaScript中,逻辑OR运算符用||表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = bTrue || bFalse; 下面的真值表描述了逻辑AND运算符的行为: 运算数 1 运算数 2 结果 true true true true false true false true true false false false 在JavaScript中,0,"",false,null,undefined,NaN…
javascript数据类型: 字符串string.数字number.未定义Undefined.空Null.布尔Boolean.数组Array.对象Object.javascript对象: 对象由花括号分隔,在括号内部,对象的属性以名称和值的形式(name:value)来定义,属性由逗号分隔. 对象的创建推荐用var people={Name:'jerry',Age:21,eat:function(){} } 也可以创建对象再追加属性和方法: var people=new Object(); p…
javascript用法: 1.HTML中的脚本必须位于<script>与</script>标签之间,可被放置在HTML页面的<body>和<head>部分中: 2.也可以把脚本放在外部.js文件中,需要使用时,在<script>标签的“src“属性中设置引用路径.外部脚本不能包含<script>标签.javascript输出: 1.使用window.alert()弹出警告框: 2.使用document.write()方法将内容写到H…
1.自定义属性,使用好索引值 例子: 下面有一段js代码: <script> window.onload = function(){ var oBtn = document.getElementByTagName("button"); for(var i=0;i<oBtn.length;i++){ //在循环的时候给每一个btn添加一个自定义属性 oBtn[i].index = i;//这行代码的相当于<button index=0 type="but…
1.文章讲解的为地图的平移.放大.缩小.前视图.后视图以及全景视图的基本功能操作 2.主要用到的是arcgis api for javascript中Navigation的用法,代码如下: <!DOCTYPE HTML> <html> <head> <title>显示地图的基本操作</title> <meta http-equiv="content-type" content="text/html;charse…
一.生成器generator: javascript里的generator函数是用function*定义的, 案例:yield 也会返回 function* foo(x){ yield x+1; yield x+2; yield x+3; return x+4; }; 斐波那契函数 不用生成器来写的函数: function fib(max){ var t, a=0, b=1, arr=[0,1]; while (arr.length<max){ [a,b]=[b,a+b] arr.push(b)…
函数也是一种数据类型:function类型 所以函数也可当作一个数据作参数传递 三种函数的声明示例: 一般来讲,声明方式一和声明方式二比较常用,方式三比较少. 常用函数方式示例: 注意:虽然函数支持嵌套调用,但尽量少用好一些. 简单的效率测试方法: 函数的作用域示例,三种生成函数对比: 函数声明方式执行效率对比: 函数声明优先级的比较: 三种函数方式函数作用域的对比: 由于构造式函数的动态特性,构建函数时相当于在外部建立一个全局t4函数,所以只能访问全局变量. 函数的形参与实参: argumen…
说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式,虽然核心思想都一致,但是实在是不能做到自己的理解,后来结合函数作用域链,好不容易有点开窍,趁着热乎劲儿,赶紧写下来,感兴趣的可以参考一下. 闭包:高级编程上面的解释是指有权访问另一个函数作用域中的变量的函数,(是一个函数): 创建闭包的常见方式,就是在一个函数内部创建另一个函数. 在理解闭包之前,…
1,ECMAScript不像其他面向对象的语言那样有类的概念,它的对象与其他不同. 2,ECMAScript有两种属性:数据属性和访问器属性.([[]]这种双中括号表示属性为内部属性,外部不可直接访问) 1.数据属性:[[ Configurable ]]:表示能否通过delete删除属性,能否修改属性的特性,能否将属性修改为访问器属性,默认为true. [[ Enumerable ]]:表示能否通过for-in循环返回属性,默认为true. [[ Writable ]]:表示能否修改属性的值,默…
控制语句 if-else 语句 <script> //控制语句 //if-else格式: var x = 1 if(x==1){ console.log("this is if") }else if(x>1){ console.log("this is else if") }else { console.log("this else") } </script> switch语句 <script> //sw…
一.spring对JDBC的支持 JdbcTemplate 简介 为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法. 每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务. 通过这种方式, 可以在尽可能保留灵活性的情况下, 将数据库存取的工作量降到最低. 步骤: 1.在工程中加入相应的jar包 2.在s…
JavaScript学习总结(一)——JavaScript基础 JavaScript学习总结(二)——逻辑Not运算符详解 JavaScript学习总结(三)——逻辑And运算符详解 JavaScript学习总结(四)——逻辑OR运算符详解 JavaScript学习总结(五)——Javascript中==和===的区别 JavaScript学习总结(六)——JavaScript判断数据类型总结 JavaScript学习总结(七)——JavaScript函数(function) JavaScrip…