JavaScript高级程序设计:第十二章】的更多相关文章

  Node类型的变化   访问元素的样式 myDiv.style.backgroundColor = "red" myDiv.style.width = "100px"   计算的样式 记住所有计算的样式都是只读的 偏移量 offsetHeight 外边框外 offsetWidth  offsetLeft  外边框外 到 左端 offsetTop  客户区的大小 clientWidth  内边框外缘 clientHeight 内边框外缘 滚动大小 scrollHe…
<JAVASCRIPT高级程序设计>第三章主要讲述了这门语言的基础概念,内容多而浅,通过思维导图可以帮助我们很好的理清脉络. js函数使用function关键字来声明,以下是一个简单的例子: function sayHi(name, message){ alert("hello," +name + message); } 函数中可以使用return语句指定返回值,如果只有“return;”,则函数在停止执行后,将返回undefined; 定义的函数有2个参数,那么调用这个函…
2019年,新年伊始,我打算好好重读一下<JavaScript高级程序设计>这本前端必备经典书.每天半小时. 以下内容摘自<JavaScript高级程序设计> 2019-2-11 第一章 —— 第三章笔记 1.区分大小写 2.严格模式 "use strict"; ECMAScript5引入了严格模式的概念.支持严格模式的浏览器包括:IE10+,Firefox4+,Safari5.1+,Opera12+,Chrome 3.声明变量 var message = &q…
读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){     drawing.getContext("…
这章讲了JavaScript的语法.数据类型.流控制语句和函数.理解还是挺好理解的,但有很多和C.C++.Java不同的地方需要记忆.比如, JavaScript标识符可以由Unicode字符字符组成. JavaScript每条语句后面的分号也不是必需的,语句后面没有分号时,解析器会自己确定语句的结尾. "+","-","*"."/"."&&"."||"."!&…
第十三章 一.理解事件流 事件流描述的是从页面中接收事件的顺序. 1.事件冒泡 IE的事件流叫做事件冒泡,即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点.以下面的HTML页面为例: <!DOCTYPE html> <html> <head> <title>Event Bubling Example</title> </head> <body> <div id="myDiv"&g…
第六章 面向对象的程序设计 一.理解对象 1.属性类型: ECMAScript中有两种属性:数据属性和访问器属性. (1)数据属性: 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性有4个可以描述其行为的特性: [[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. [[Enumerable]]:表示能否通过for-in循环返回属性.像前面例子中那样直接在对象上定义的属性,它们的这个特性默认值为t…
第二十一章 Ajax与Comet 一.XMLHttpRequest对象 1.XHT的用法 在使用XHR对象时,要调用的第一个方法时open( ),它接受3个参数:要发送的请求的类型.请求的URL和表示是否异步发送请求的布尔值.下面是调用这个方法的例子: xhr.open( “get” , ”example.php” , false ) ; 这段代码会启动一个针对example.php的GET请求.有两点需要注意:一是URL相对于执行代码的当前页面:二是调用open( )方法并不会真正发送请求,而…
错误处理与调试 一.错误处理 1.try-catch语句: ECMA-262第3版引入了try-catch语句,作为javascript中处理异常的一种标准方式.基本的语法如下: try { //可能会导致错误的代码 } catch(error){ //在错误发生时怎么处理 } 也就是说,我们应该把所有可能会抛出错误的代码放在try语句块中,而把那些用于错误处理的代码放在catch块中.例如: try { window.someNonexistentFunction( ) ; } catch (…
引用类型 一.object类型: 创建object实例的方式有两种.第一种是使用new操作符后跟Object构造函数,如下所示: var  person = new  Object(): person.name = “Nicholas”: person.age = 29: 另一种方式是使用对象字面量表示法.对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程.下面这个例子就使用了对象字面量语法定义与前面那个例子中相同的person对象: person 对象: var  p…
基本概念 一.语法: 1.区分大小写: 2.标识符:指变量.函数.属性的名字,或者函数的参数.标识符可以是按照下列格式规则组合起来的一个或多个字符: (1)第一个字符必须是一个字母.下划线(_).或者一个美元符号($); (2)其他字符可以是字母.下划线.美元符号或数字. 概括地说,标识符就是首字母不能是数字的,以字母.数字.下划线和美元符号组合的一个或多个字符. 3.注释: (1)单行注释以双斜杠开头: //单行注释. (2)块级注释以/*..*/包围: /* 这是一个 * 块级注释 */ 4…
引用类型是一种将数据和功能组合到一起的数据结构,它与类相似,但是是不同的概念:ECMAScript虽然是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和结构等基本结构.引用类型也被称为“对象定义”. 一.Object类型 创建实例方式: 1使用new操作符+构造函数 var person = new Object(); person.name = "Lillian"; person.age = 29; 2使用对象字面量表示法 2.1属性不加引号 var person = {…
第二章 在HTML中使用JavaScript 要想把JavaScript放到网页中,就必须涉及到Web的核心语言HTML.向HTML页面中插入JavaScript的主要方法,就是使用<script>元素.下面我来归纳一下<script>标签比较重要的属性. async属性(定义为异步脚本的属性):浏览器执行到这里时,在下载js脚本的同时会继续往下解析页面,比如下载其他资源资源,解析html或等待其他待加载的脚本等(异步执行js脚本).当js脚本下载完了,才会暂停页面解析,立即执行j…
作为学习javascript的小白,为了督促自己读书,写下自己在读书时的提炼的关键点. 第一章: 1.JavaScript简史:Netscape Navigator中的JavaScript与Internet Explorer中的JScript各成一派,是两个不同的JavaScript版本.为了取得统一,以JavaScript1.1为蓝本定义了ECMA-262,一种名为ECMAScript新语言标准,作为JavaScript的基础. 2.JavaScript含义比ECMAScript定义的多,完整…
在HTML中引用javaScript javascript的几个属性  type async(异步加载 只适用于外部JS且IE8以上 HTML5规范 先于load执行) src defer(延迟加载 只适用于外部加载 先于load执行) 在HTML中使用外部JS代码的优点,1.便于维护 ,2.可缓存.3.适应未来. 在javascript中区分变量的大小写 比如(test 和 Text是☞的两个变量) 在ECMA5中新模式,严格模式  'use strict'在js代码中加入这句话即为严格模式…
JavaScript是一种专门为与网页交互而设计的脚本语言 JavaScript实现 ECMAscript---核心 DOM---文档对象模型 BOM---浏览器对象模型…
25.1 requestAnimationFrame() 25.1.1 早期动画循环 25.1.2 循环间隔的问题 25.1.3 mozRequestAnimation-Frame.webkitRequestAnimationFrame与msRequest-AnimationFrame25.2 Page Visibility API25.3 Geolocation API25.4 File API 25.4.1 FileReader 类型 25.4.2 读取部分内容 25.4.3 对象URL 2…
23.1 离线检测23.2 应用缓存23.3 数据存储 23.3.1 Cookie 23.3.2 IE 用户数据 23.3.3 Web 存储机制 23.3.4 IndexedDB   23.1 离线检测navigator.onLine ? "Online" : "Offline"支持离线检测的浏览器有IE 6+(只支持navigator.onLine 属性).Firefox 3.Safari 4.Opera 10.6.Chrome.iOS 3.2 版Safari 和…
22.1 高级函数 22.1.1 安全的类型检测 22.1.2 作用域安全的构造函数 22.1.3 惰性载入函数 22.1.4 函数绑定 22.1.5 函数柯里化22.2 防篡改对象 22.2.1 不可扩展对象 22.2.2 密封的对象 22.2.3 冻结的对象22.3 高级定时器 22.3.1 重复的定时器 22.3.2 Yielding Processes 22.3.3 函数节流22.4 自定义事件22.5 拖放 22.5.1 修缮拖动功能 22.5.2 添加自定义事件 22.1.1 安全的…
20.1 语法 20.1.1 简单值 20.1.2 对象 20.1.3 数组 20.2 解析与序列化 20.2.1 JSON 对象 20.2.2 序列化选项 20.2.3 解析选项 JSON 对象有两个方法:stringify()和parse().在最简单的情况下,这两个方法分别用于把JavaScript 对象序列化为JSON 字符串和把JSON 字符串解析为原生JavaScript 值.…
第5 章 引用类型5.1 Object 类型5.2 Array 类型 5.2.1 检测数组 5.2.2 转换方法 5.2.3 栈方法 5.2.4 队列方法 5.2.5 重排序方法 5.2.6 操作方法 5.2.7 位置方法 5.2.8 迭代方法 5.2.9 归并方法5.3 Date 类型 5.3.1 继承的方法 5.3.2 日期格式化方法 5.3.3 日期/时间组件方法5.4 RegExp 类型 5.4.1 RegExp 实例属性 5.4.2 RegExp 实例方法 5.4.3 RegExp 构…
变量.作用域和内存问题 执行环境共有两种类型——全局和局部 作用域链会加长,有两种情况:try-catch语句的catch块,with语句. javascript没有块级作用域,即在if,for循环中的变量,在块结束后,并不会被销毁. 最好能手工断开原生javascript对象与DOM元素之间的连接. Object类型 创建Object实例有两种方式:new 操作符后跟Object构造函数即new Object(),对象字面量表示法即用{}表示. 可使作方括号表示法来访问对象的属性,将要访问的属…
一.选择符API SelectorsAPILevel 1的核心是两个方法:querySelector()和querySelectorAll(). 1. querySelector()方法 querySelector()方法接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null.请看下面的例子: //取得body元素 var body = document.querySelector(“body”): //取得ID为”myDiv”的元素 var myDiv = d…
函数表达式 1.函数表达式的特征: 定义函数的方式有两种:一种是函数声明,另一种就是函数表达式.函数声明的语法是这样的: function  functionName(arg0,arg1,arg2){ //函数体 } 首先是函数function关键字,然后是函数的名字,这就是指定函数名的方式.关于函数声明,它的一个重要特征就是函数声明提升,意思是在执行代码之前会先读取函数声明.这就意味着可以把函数声明放在调用它的语句后面. sayHi(): function  sayHi(){ alert(“H…
变量.作用域和内存问题 1.ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,引用类型值指的是有多个值构成的对象. 2.动态的属性:定义一个基本类型值和引用类型值的方法是类似的:创建一个变量并为该变量赋值.但是,当这个值保存到变量中以后,对不同类型值可以执行的操作大相庭径.对于引用类型的值,我们可以为其添加属性和方法,也可以改变和删除其属性和方法.如下例子: var  person = new Object(): person.name…
一.Date类型 Date类型类型用于保存日期,有以下几种创建方式: //获取当前时间 var now = new Date(); //获取当前时间的毫秒数 var nowSecond = Date.now(); //为2016年7月25日创建一个日期对象 var someDate = new Date(Date.parse("July 25,2016")); //Date.UTC和Date.parse的区别是,构建时使用不同的时间信息 //Date.UTC的参数是:年份,从0开始的月…
javascript变量是松散类型,它只是在特定时间表示特定值的一个名字而已:变量的值以及类型,可以在脚本的生命周期内改变.变量的类型,分为基本类型和引用类型两种,具体介绍如下图所示: 执行环境是JavaScript中的一个重要概念,它定义了变量或函数是否有权访问其他的数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中.虽然我们编写的代码无法访问这个对象,但解析器在处理数据时,会在后台用到它.…
一.object类型 创建object实例的方式有两种: //第一种使用new操作符跟构造函数 var person= new Object(); person.name="小王"; person.age=29; //第二种使用对象字面量 var person={ name:"小王", age:29 }; 二.Array类型 创建数组有两种基本方式: //第一种使用array构造函数(可以省略new) var colors=new Array(); var colo…
一.创建对象的方法(6种) 1.工厂模式 即用函数来封装以特定接口创建对象的细节. function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); } return o; } var person1 = createPerson('Lily',17,'Teacher'); var…
目录 变量的引用 执行环境及作用域 作用域链延长 块级作用域 垃圾回收机制 变量的引用 当一个变量保存了基本数据类型时,此时对于变量的操作(赋值,运算)就是操作这个基本数据的本身,就算是赋值操作,赋值时拷贝后的值与之前的值也是相互独立互不影响的. var a = 1; var b = a b++; console.log(a); //1 console.log(b); //2 这非常好理解,但是如果一个变量保存的是一个引用类型的数据,例如对象,那么情况将会不同,这是因为变量保存的并不是对象本身,…