响应用户操作和事件 事件就是操作检测与脚本执行的组合,或者基于检测到的操作类型在某个对象上调用事件侦听器(事件处理程序). 事件的类型 事件可以分为几种类型:对象事件,鼠标事件,键盘事件(只适用于document对象),表单事件,自定义事件. 控制事件流和注册事件侦听器 事件流描述的是从页面中接收事件的顺序:事件侦听器,就是一个常规的JavaScript函数. 三个阶段和三个模型 事件冒泡:指的是目标元素的事件方法优先并且会被首先执行,然后,事件会向外传播到每个祖先元素,直至document对象…
创建可重用的对象 简而言之,对象就是包含一组变量(称为属性)和函数(称为方法)的集合的实例.对象通常由类派生而来,而类中定义了对象拥有的属性和方法.如果你的脚本中都是对象之间的交互操作,那么就可以称之为OO(Object Oriented,面向对象)的脚本.特别要说明的是,JavaScript 是一种原型式(prototype-style)的OO语言,没有类的概念,所有一切都派生自现有对象的一个副本.JavaScript 的主要内置对象有:Object, Function, Array, Str…
读书笔记,写的很乱   事件处理程序   事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别  没有DOM1 同样的事件 DOM0会顶掉html事件   因为他们都是属性  而DOM0比html事件执行的晚(可以理解为谁离html元素近先执行谁) JS事件执行顺序理解 先捕获(document-往下)->目标阶段(执行)->冒泡(具体到不具体); addEventListener 第三个参数 默认false   (false 是冒泡阶段执行)   true 是捕获阶段执…
零. 初衷 现在 AngularJS 4 已经发布了, 楼主还停留在 1.x 的阶段, 深感自卑. 学习 AngularJS 的初衷是因为, 去年楼主开始尝试使用 Flask 开发自动化程序, 需要用到大量的表单, Flask-wtf 的功能不能满足要求, 并且不够灵活, 所以在某老猿的建议下开始尝试使用 AngularJS 来写表单. 第一感觉是惊艳, 原来可以这么 easy, 所以想深入的学习一下, 并买了若干本书. 是去年买的, 网上的评价不是太高, 但是楼主觉得讲的比较轻松和易懂, 所以…
第10章 DOM 10.1  节点层次 每个节点都有一个nodeType属性,用于表明节点的类型.任何节点类型必是下面中的一个: Node.Element_NODE(1); NODE.ATTRIBUTE_NODE(2); Node.TEXT_NODE(3); Node.CDATA_SECTION_NODE(4); Node.ENTITY_REFERENCE_NODE(5); Node.ENTITY_NODE(6); Node.PROCESSING_INSTRUCTION_NODE(7); Nod…
第2章  在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文件时可以使用defer属性, 意思是延迟加载, 最后加载. 或者async属性, 意思是异步加载,不必等待其他脚本加载也不会阻塞文档加载. <script type='text/javascript' defer='defer' src='example.js'></script> &…
第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串.每个类在内部都有一个[[Class]]属性,这个属性中就指定了上述字符串中的构造函数名. 基于这一思路来测试某个值是不是原生函数或正则表达式,如: function isFunction(value){ return object.prototype.toString.call(value) ==…
第一章 JavaScript 简介 第二章 Html中使用JavaScript 第三章 基本概念 第四章 变量,作用域,内存 第五章 引用类型 第六章 面向对象 第七章 函数表达式 第八章 BOM 第九章 客户端检测 能力检测 怪癖检测 用户代理检测 第十章 DOM DOM2 DOM3 DOM扩展 第13章 事件 第14章 表单脚本 第15章 使用Canvas 绘图 第16章 HTML5 脚本编程 第17章 错误处理与调试 第20章 JSON 第21章 Ajax 与 Comet 第22章 高级技…
第6章  面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新对象. 构造函数的问题:每个方法都要在每个实例上重新创建一遍: 理解原型对象: 无论何时,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象.默认情况下,所有原型对象都会自动获得一个constructor属性,这个属性包含一个指向proto…
第20章 JSON JSON是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量 JSON的语法可以表示一下三种类型的值 l        简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串.数值.布尔值和null.但JSON不支持JavaScript中的特殊数值undefined. “Hello world!” l        对象(属性的值可以是简单值,也可以是复杂类型值,如下这样在对象嵌入对象) { “name” : ”Nicholas”, “age” : 29…