读javascript高级程序设计00-目录】的更多相关文章

javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流,喜欢本书的童靴建议购买正版. 1.读javascript高级程序设计01-基本概念.数据类型.函数 2.读javascript高级程序设计02-变量作用域 3.读javascript高级程序设计03-函数表达式.闭包.私有变量 4.读javascript高级程序设计04-canvas 5.读javascri…
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流,喜欢本书的童靴建议购买正版. 1.读javascript高级程序设计01-基本概念.数据类型.函数 2.读javascript高级程序设计02-变量作用域 3.读javascript高级程序设计03-函数表达式.闭包.私有变量 4.读javascript高级程序设计04-canvas 5.读javascri…
一.Global 所有在全局作用域定义的属性和方法,都属于Global对象. 1.URI编码: encodeURI():主要用于对整个URI编码.它不会对本身属于URI的特殊字符进行编码. encodeComponentURI():主要用于对URI中的某一部分进行编码,很常用的是对查询字符串参数进行编码.它会对所有非标准字符进行编码. 对应的解码方法是decodeURI()和decodeURIComponent. var uri='http://www.cnblogs.com?a=1 2&b=陈…
一.在线状态检测 开发离线应用时,往往在离线状态时把数据存在本地,而在联机状态时再把数据发送到服务器.html5提供了检测在线状态的方法:navigator.onLine和online/offline事件. 1.navigator.onLine属性 表示当前的网络状态是否在线,true表示在线,false表示离线.当网络状态变化时,该属性也会随之变化. 2.online和offline事件 HTML5提供了这两个事件,会在网络状态变化时触发.online在网络由离线变为在线时触发:offline…
一.节点关系 元素的childNodes属性来表示其所有子节点,它是一个NodeList对象,会随着DOM结构的变化动态变化. hasChildNodes():是否有子节点. var headlines=document.getElementById("headline_block"); var childs=headlines.childNodes; childs.length; childs[0];//取第一个子节点 childs.item(0);//取第一个子节点 parentN…
JSON是一个轻量级的数据格式,可以简化表示数据结构的工作量.在实际工作中,我们经常用它来传递数据,不过对于其使用的一些细节还是需要注意的.在ECMAScript5中定义了原生的JSON对象,可以用来将对象序列化为JSON字符串,或者将JSON数据解析为javascript对象. 一.JSON语法 JSON可以用来表示三种类型的值:简单值.对象和数组.对象和数组一般是JSON结构的最外层形式. 1.JSON简单值 可以在JSON中表示字符串.数值.布尔值.null. 例如: 5//数值类型 "h…
一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与浏览器交互的方法和接口. 2. ECMAScript宿主环境:浏览器.Node.Adobe Flash. 二. 在HTML中引入javascript 1.<script>标签:language属性已经废弃,一般使用type="text/javascript"; 2.不要再代码中…
一. 延长作用域链 有些语句可以在作用域前端临时增加一个变量对象,该变量对象在代码执行完成后会被移除. ①with语句延长作用域. function buildUrl(){ var qs="?debug=true"; with(location){ var url=href+qs; } return url; } buildUrl(); //result:http://www.fanxbao.com/?debug=true ②try...catch...中的catch语句块延长作用域链…
一.跨文档消息传递(XDM) 1.发送消息 postMessage(msg,domain)用于发送跨文档消息.第一个参数是要传递的消息内容,第二个参数表示接收方来自哪个域.第二个参数有助于提高安全性,如果发现域不匹配则不会进行操作. 2.接收消息 接收到消息时,会触发window对象的message事件.传递给onmessage事件处理程序的对象主要包含三个信息: data:对应postMessage()第一个参数传入的内容: origin:发送消息的文档所在域.接收到消息后,检测消息来源是非常…
一  错误类型 ECMA规定了常见的7种错误类型: Error: 基类型.其他常见的错误类型都继承自该类型,一般供开发人员抛出自定义错误. EvalError:该类型会在eval()函数使用异常时被抛出.例如:new eval();.实际上在某些版本浏览器下会抛出TypeError,而且本身eval()函数在实际开发中就要谨慎使用,所以抛出EvalError的几率是很小的. RangeError:在数值超出范围时触发.例如:new Array(-1)//RangeError: invalid a…
平时用惯了jQuery.ajax之类的方法,却时常忽略了它背后的实现,本文是学习了AJAX基础及几种跨域解决方案之后的一些收获. 一.AJAX——XMLHttpRequest 谈起Ajax我们都很熟悉,它的核心对象是XMLHttpRequest(简称XHR). 1.创建对象: 在ie7及以上版本支持原生的写法创建该对象. var xhr=new XMLHttpRequest(); 2.发送请求: open(type,url,isasync):第一个参数是请求类型(get,post),第二个参数是…
从去年开始看,因为太长,总是没有办法一口气把它看完,再加上它与第二版大部分一致,读起来兴致会更缺一点. 与第二版相比,它最大的改变就是增加了很多html5的内容,譬如:Object对象的一些新东西,数据属性.访问器属性及相应的一些方法;比如它对跨域常见方法的比较和总结:postMessage,IE8的XDR,升级的XHR,jsonp跨域原理,单向的图片ping;又比如对数据推送的一些介绍,长轮询和http流是什么样子,单向的SSE和双向的Web Socket的详细介绍和比较. PS,关于SSE,…
虽然Object构造函数或者对象字面量都可以用来创建单个对象,但是缺点非常明显:使用同一接口创建很多对象,会产生大量重复代码. 工厂模式  1 function CreatePerson(name,age,job){ 2         var o=new Object(); 3         o.name=name; 4         o.age=age; 5         o.job=job; 6         o.sayName=function(){ 7            …
一.函数声明和函数表达式 定义函数有两种方式:函数声明和函数表达式.它们之间一个重要的区别是函数提升. 1.函数声明会进行函数提升,所以函数调用在函数声明之前也不会报错: test(); function test(){ alert(1); } 2.函数表达式不会进行函数提升,函数调用在函数声明之前的话会报错: test(); // test is not a function var test=function(){ alert(1); } 二.递归函数 递归函数是通过在函数内部调用自身实现的…
一.基本用法 1.要使用canvas元素,需要先给定其width和height来设置绘图区域的大小.canvas中间的文本会在浏览器不支持canvas的情况下显示出来. <canvas width="1500px" height="1500px" id='drawing'>do not support.</canvas> 2.绘图上下文: 要在canvas绘图,需要通过getContext方法来获取上下文.传入参数“2d”,就可以获取2d上下…
1.工厂模式 工厂模式是一种常用的创建对象的模式,可以使用以下函数封装创建对象的细节: function CreatePerson(name,age){ var p=new Object(); p.name=name; p.age=age; p.speak=function(){ console.log("my name is "+p.name); } return p; } var p1=CreatePerson('Wang',15); p1.speak(); var p2=Crea…
原型链是实现继承的主要方法,通过原型能让一个引用类型继承另一个引用类型. 1.原型链实现继承 function SuperType(){ this.superprop=1; } SuperType.prototype={ showSuperprop:function(){ console.log(this.superprop); } } function SubType(){ this.subprop=2; } SubType.prototype=new SuperType(); SubType…
一.引用类型 ECMAScript是支持面向对象的,可以通过引用类型描述一类对象所具有的属性和方法. 创建对象实例的方法时是用new 操作符加构造函数:var p=new Person(). 二.Object类型 1.创建Object实例两种方式: 使用new操作符跟Object构造函数. var o = new Object(); o.name = 'dami'; o.age = 25; 使用对象字面量表示法,推荐这种方式,代码量小而且看上去有封装的感觉. var o = { name: 'd…
一.window 1.在全局作用域中定义的变量和函数会被归在window对象. var a=1,b=2; function add(a,b){ return a+b; } console.log(window.a); console.log(window.add(a,b)); 有点区别在于,全局变量不能用delete删除,而直接在window对象定义的属性可以用delete删除. 2.计算窗口位置: var leftpos=typeof window.screenLeft=="number&qu…
一.事件流 事件流指从页面中接收事件的顺序. 1.事件冒泡(常用) IE中采用的事件流是事件冒泡,先从具体的接收元素,然后逐步向上传播到不具体的元素. 2.事件捕获(少用) Netscapte采用事件捕获,先由不具体的元素接收事件,最具体的节点最后才接收到事件. 3.DOM事件流 DOM2级事件包括三个阶段:事件捕获阶段.处于目标阶段和事件冒泡阶段. 二.事件处理程序 事件处理程序就是响应某些事件的函数,如onclick等. 1. DOM0级事件处理程序 每个元素都有自己的事件处理程序属性,如o…
内容概要 作用域安全的构造函数 惰性载入函数 函数绑定 函数节流 一.作用域安全的构造函数 我们知道,当使用new操作符调用构造函数时,构造函数内部的this会指向新创建对象的实例. function Person(name){ this.name=name; } var p=new Person('peter'); console.log(p.name);//结果:perter 但是,如果没有使用new操作符,而是将构造函数当作普通函数调用时,this会指向window对象. var p1=P…
为什么会写这个学习教程呢??因为一直以来,学习JavaScript都没有系统的学过,用什么学什么,所以今天开始,重新把JavaScript系统的学一遍!(本人也是菜鸟一枚,语文水平也还是小学程度,看得不爽请用力喷~~(*^__^*) 嘻嘻……) 1.JavaScript 高级程序设计 01-基本概念 2.JavaScript 高级程序设计 02-变量.数据类型…
javascript高级程序设计,当枕头书已经好久了~zz  现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 1.ECMAScript 版本规范 2.DOM 文档对象模型 3.BOM 浏览器对象模型 二.HTML中应用script 1.<script>标签 属性:async="async" / defer="defer" 异步脚本:async:立即下载脚本,对外部脚…
题外话 最近在看<JavaScript高级程序设计>这本书,面对着700多页的厚书籍,心里有点压力,所以我决定梳理一下..探究一下到底怎么读这本书.本书的内容好像只有到ES5...所以只能以后慢慢加了... 这一系列围绕 这一系列文章主要围绕: 如何阅读<JavaScript...> 全书的脉络是什么? 预备知识:像我这种小白,有时真的看的是一脸糊涂. 还没想好,,, 全书的划分 在看书之前,先大体看一下目录,将全书划分一下,对每一个有大体的了解.可分为: (1-2章) :可以通俗…
题外话 最近在看<JavaScript高级程序设计>这本书,面对着700多页的厚书籍,心里有点压力,所以我决定梳理一下..探究一下到底怎么读这本书.本书的内容好像只有到ES5...所以只能以后慢慢加了... 这一系列围绕 这一系列文章主要围绕: 如何阅读<JavaScript...> 全书的脉络是什么? 预备知识:像我这种小白,有时真的看的是一脸糊涂. 还没想好,,, 全书的划分 在看书之前,先大体看一下目录,将全书划分一下,对每一个有大体的了解.可分为: (1-2章) :可以通俗…
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的真的不错,很多大神也在推荐这本书,所以就下载了电子版看了五章.前天决定还是买实体书来看,一是这本书确实不错,二是电子书怎么看怎么不舒服.今天早上收到书迫不及待的打开包裹,还没翻开书却发现书背在快递过程中已被磨损,心疼... 想来想去,决定无论如何要写看书笔记,一个一个字敲上来,监督自己,发帖为证! 可能每次发…
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)>,突然想着边看边记录,就像边看边写读后感.这本书从介绍表达式和申明变量开始,平滑的过渡到了闭包.面向对象开发等高级主题.与那些把大量篇幅花在讲解背景知识上的书,以及那些让人感觉好像要使用JavaScript 开发导弹制导系统的书,这本书让人感觉细致周到.亲切自然,这是一本写给“普通人”的书.它能够让你编写…
起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的javascript书籍和推荐的阅读顺序,如下所示: 从头到尾对一遍<<Javascript高级程序设计>>,不懂的地方可以暂时掠过,给自己对javascript有一个大体的印象 认认真真的读完这本书:<<编写可维护的javascript>>,从编码规范,技巧,…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数.…