JavaScript高级程序设计
奋飛
乐观、勇气、专注、果断、好奇、公正、慎思、真诚、追求极致追求完美、诚信!独立撰写了多个前端专题模块,访问量达百万级。多次负责组织大数据可视化前端架构平台开发工作。对前端新技术、新潮流具有很强的敏锐力和洞察力!
展开
-
变量、作用域和内存问题
下述内存主要讲述了《JavaScript高级程序设计(第3版)》第4章关于“变量、作用域和内存问题”。JavaScript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已。 (1)基本类型的值在内存中占据固定大小的空间,因此会保存在栈内存中; (2)引用类型的值是对象,保存在堆内存中。 PS: 堆内存:随意存储,一般由程序员分配释放,或者程序结束时有OS回收。 栈内存原创 2016-03-13 13:20:36 · 2146 阅读 · 1 评论 -
JSON
下述内存主要讲述了《JavaScript高级程序设计(第3版)》第20章关于“JSON”。JSON是一种数据格式,不是一种编程语言。1. 语法JSON的语法可以表示三种类型的值: (1)简单值:可以在JSON中表示字符串(必须使用双引号)、数值、布尔值和null;但不支持JavaScript中的特殊值undefined。 (2)对象:对象的属性必须加双引号。{ "name": "lia原创 2016-04-04 11:22:42 · 1178 阅读 · 0 评论 -
函数表达式
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第7章关于“函数表达式”。一、回顾定义函数的方式有两种:第一种是“函数声明”,另一种就是“函数表达式”。 “函数声明”会被提升,意味着把函数声明放在调用它的语句后面。 示例1:a(); // ab(); // TypeError: b is not a functionfunction a() { cons原创 2016-07-23 09:39:51 · 2364 阅读 · 3 评论 -
DOM扩展
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第11章关于“DOM扩展”。尽管DOM作为API已经非常完善了,但是为了实现更多的功能,仍然会有一些标准或专有的扩展。对DOM的两个主要扩展是Selectors API(选择符API)和HTML5。一、选择符APISelectors API是由W3C发起制定的一个标准,致力于让浏览器原生支持CSS查询。其核心的两个方法:querySe原创 2016-11-15 20:31:00 · 3064 阅读 · 0 评论 -
DOM
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第10章关于“DOM”。DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次变化的节点树,允许开发人员添加、移除和修改页面的某一部分。###一、节点层次在HTML页面中,文档元素始终都是``元素。1. Node类型JavaScript中的所有节点类型都继承自Node类型,因此所有节原创 2016-11-01 22:20:28 · 3508 阅读 · 3 评论 -
事件
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第13章关于“事件”。JavaScript与HTML之间的交互式通过事件实现的。 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码。一、 事件流事件流,描述的是从页面中接收事件的顺序。1. 事件冒泡事件冒泡(event bubbling),即事件开始时有最具体原创 2016-07-25 22:33:07 · 3110 阅读 · 0 评论 -
面向对象的程序设计
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第6章关于“面向对象的程序设计”。ECMA-262把对象定义为:”无序属性的集合,其属性可以包含基本值、对象或者函数。”一、理解对象1. 属性类型ECMAScript中有两种属性:数据属性和访问器属性。 数据属性包含一个值;访问器属性不包含值而定义了一个当属性被读取时调用的函数(getter)和一个当属性被写入时调用的函数(sett原创 2016-10-14 23:37:10 · 4865 阅读 · 3 评论 -
BOM
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第8章关于“BOM”。BOM(浏览器对象模型)提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。一、window对象BOM的核心对象是window,它表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。1.原创 2016-09-20 20:15:51 · 1719 阅读 · 2 评论 -
错误处理与调试
下述内存主要讲述了《JavaScript高级程序设计(第3版)》第17章关于“错误处理与调试”。错误处理对于web应用程序开发而言至关重要。不能提前预测可能发生的错误,不能提前采取恢复策略,可能导致较差的用户体验,最终引发用户不满。多数浏览器在默认情况下不会向用户报告错误,因此在开发和调试期间需要启用浏览器的错误报告功能。然而,在投入运行的产品代码中,则不应该再有诸如此类的错误报告出现(例如ale原创 2016-04-03 13:44:53 · 1217 阅读 · 1 评论 -
Ajax与Comet
下述内存主要讲述了《JavaScript高级程序设计(第3版)》第21章关于“Ajax与Comet”。Ajax(Asynchronous JavaScript + XML的简写)可以向服务器请求数据而无需卸载(刷新)页面,带来更好的用户体验。 Ajax技术的核心是XMLHttpRequest对象(简称XHR)。一、XMLHttpRequest对象/* 兼容IE早期版本 */function c原创 2016-04-19 12:15:16 · 5634 阅读 · 1 评论 -
表单脚本
下述内存主要讲述了《JavaScript高级程序设计(第3版)》第14章关于“表单脚本”。刚开始人们使用JavaScript,最主要的目的之一就是表单的验证,分担服务器处理表单的责任。虽然现流行的大部分提交方式是通过ajax,但了解表单,对于ajax方式也是有重大帮助的!所以,大家不要看轻表单。一、表单的基础知识在HTML中,表单由元素来表示,而在JavaScript中,表单对应的则是HTMLFo原创 2016-04-03 12:26:14 · 2670 阅读 · 0 评论 -
JavaScript高级技巧
下述内容主要讲述了《JavaScript高级程序设计(第3版)》第22章关于“高级技巧”。一、高级函数函数是第一等公民,所有函数都是对象。1. 安全的类型检测JavaScript内置的类型检测机制并非完全可靠。var isArray = value instanceof Array;以上代码要返回true,value必须是一个数组,而且还必须与Array构造函数在同个全局作用域中。(Array是w原创 2016-05-05 21:13:19 · 10139 阅读 · 4 评论