进度事件 进度事件用来描述一个事件进展的过程,比如XMLHttpRequest对象发出的HTTP请求的过程.<img>.<audio>.<video>.<style>.<link>加载外部资源的过程.下载和上传都会发生进度事件. 进度事件有以下几种. abort事件:当进度事件被中止时触发.如果发生错误,导致进程中止,不会触发该事件. error事件:由于错误导致资源无法加载时触发. load事件:进度成功结束时触发. loadstart事件:进…
事件是一种异步编程的实现方式,本质上是程序各个组成部分之间传递的特定消息. DOM的事件操作(监听和触发),都定义在EventTarget接口 该接口就是三个方法,addEventListener和removeEventListener用于绑定和移除监听函数,dispatchEvent用于触发事件. addEventListener() 用于在当前节点或对象上,定义一个特定事件的监听函数. target.addEventListener(type, listener[, useCapture])…
鼠标事件 事件种类 鼠标事件指与鼠标相关的事件,主要有以下一些. (1)click事件 click事件当用户在Element节点.document节点.window对象上,单击鼠标(或者按下回车键)时触发.“鼠标单击”定义为,用户在同一个位置完成一次mousedown动作和mouseup动作.它们的触发顺序是:mousedown首先触发,mouseup接着触发,click最后触发. 下面是一个设置click事件监听函数的例子. div.addEventListener("click",…
Array类型 var arr = []; arr.length; //返回数组元素个数 改变length可以动态改变数组大小 检测数组 instanceof可以检测某个对象是否是数组,限制:只能是一个网页或一个全局作用域 Array.isArray(arr); //最终确定某个值到底是不是数组,没有限制 转换方法 arr.toString(); //返回由数组每个值的字符串形式拼接而成的以逗号分隔的字符串 arr.valueOf(); //与toString方法一致 arr.toLocalSt…
<JAVASCRIPT高级程序设计>第三章主要讲述了这门语言的基础概念,内容多而浅,通过思维导图可以帮助我们很好的理清脉络. js函数使用function关键字来声明,以下是一个简单的例子: function sayHi(name, message){ alert("hello," +name + message); } 函数中可以使用return语句指定返回值,如果只有“return;”,则函数在停止执行后,将返回undefined; 定义的函数有2个参数,那么调用这个函…
本站微博上正在送书<JavaScript高级程序设计>走过路过的不要错过,参与方式,关注本站及简寻网+转发微博:http://weibo.com/1748018491/DoCtp6B8r   本站联合简寻网#寻找千里码# 正在送书<javascript高级程序设计>第三版 5本,对这本书期待的朋友可以去参与哦. 关于简寻网: 我们是一群年轻的创业者,我们关注互联网发展,追逐技术的进步.互联网时代的到来,我们希望能通过技术的手段解决生活中的问题.招聘行业是一个传统而又新兴的行业,传统…
第20章,JSON JSON(JavaScript Object Notation,JavaScript对象表示法),是JavaScript的一个严格的子集. JSON可表示一下三种类型值: 简单值:字符串,数值,布尔值,null,不支持js特殊值:undefined 对象:一组无序的键值对 数组:一组有序的值的列表 不支持变量,函数或对象实例 注:JSON的字符串必须使用双引号,这是与JavaScript字符串最大的区别 对象 { "name":"Nicholas"…
第三章 基本概念 任何语言的核心必然会描述这门语言最基本的工作原理.这部分内容对我们来说,读起来很乏味,甚至会产生困意,但这部分内容却是重要的!我有幸拜读<JavaScript高级程序设计>,更具我自己工作中体会,下面列出一些注意点和有用的东西(⊙o⊙)- ①命名规则.推荐采用驼峰命名.比如:userName. ②块级注释. /* * 推荐块级注释,这里对代码进行注释说明! */ ③JavaScript中采用严格模式.在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某…
第13章,事件 事件冒泡 IE的事件叫做事件冒泡:由具体到不具体 <!DOCTYPE html> <html> <head>      <title>Event Bubbling Example</title> </head> <body>      <div id="myDiv">Click Me</div> </body> </html> 如果你单击了…
第22章,高级技巧 高级函数 安全的类型检测 typeof会出现无法预知的行为 instanceof在多个全局作用域中并不能正确工作 调用Object原生的toString方法,会返回[Object NativeConstructorName]格式字符串.每个类内部都有一个[[Class]]属性,这个属性中就指定了上述字符串中的构造函数名. 原生数组的构造函数名与全局作用域无关,因此使用toString方法能保证返回一致的值,为此可以创建如下函数: function isArray(value)…
第六章面向对象的程序设计 1.定义只有在内部才用的特性(attribute)时,描述了属性(property)的各种特征.这些特性是为了实现JavaScript引擎用的,因此在JavaScript中不能直接访问它们.为了表示特性是内部值,该规范把它们放在了两对方括号中,例如[[Enumerable]]. 2.数据属性 [[Configurable]]:表示能否通过delete删除属性从而重新定义属性,默认为true,一旦改为false不能再把它变回可配置了. [[Enumerable]]:表示能…
章, DOM扩展 选择符 API Selector API Level1核心方法querySelector .querySelectorAll,兼容的浏览器可以使用 Document,Element 实例调用它们,支持浏览器:IE8+,Firefox3.5+,Safari3.1+,chrome,Opera10+ querySelector方法 接收一个 CSS选择符,返回与该模式匹配的第一个元素 通过 Document类型调用该函数,会在文档范围查找匹配元素,通过 Element类型调用该函数,…
第6章,面向对象的程序设计 对象: 1.数据属性 configurable,表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为true ‚enumerbale,表示能否通过for-in访问属性,默认true ƒwritable,表示能否修改属性值,默认true „value,数据存储位置,默认undefined 修改默认属性特性:Object.defineProperty(),接收三个参数:属性所在对象,属性名,描述符对象,描述符对象属性…
第2章,在html中使用JavaScript Html引入外部js脚本 <script type="text/javascript" src="test.js">两个</script>之间不应放脚本,因为并不会被执行</script> <script>标签有一个defer属性可以延迟脚本执行,但是并不保证会按脚本排列顺序执行 建议:将脚本引入放在<body>标签的所有内容之后,而不放在<head>…
基本概念 一.语法: 1.区分大小写: 2.标识符:指变量.函数.属性的名字,或者函数的参数.标识符可以是按照下列格式规则组合起来的一个或多个字符: (1)第一个字符必须是一个字母.下划线(_).或者一个美元符号($); (2)其他字符可以是字母.下划线.美元符号或数字. 概括地说,标识符就是首字母不能是数字的,以字母.数字.下划线和美元符号组合的一个或多个字符. 3.注释: (1)单行注释以双斜杠开头: //单行注释. (2)块级注释以/*..*/包围: /* 这是一个 * 块级注释 */ 4…
********************  Chapter 8 BOM ******************** BOM由浏览器提供商扩展 window: 既是js访问浏览器窗口的接口,又是Global对象 全局变量会成为window 的属性,但是定义全局变量和window属性还是有差别,在于能否通过delete删除 var age = 10;//本质上来说,configurable 属性设置为false, 所以不能delete 删除 window.name = 'test'; delete w…
目录 语法 标识符 严格模式 关键字 保留字 变量 数据类型 运算符 表达式与语句 语法 "语法"指的是一门语言的书写风格,JavaScript 的语法风格很类似于 C 以及 Java. 语法又是一种概念上的统称,例如如何声明变量.定义函数.书写流程控制语句或者是进行条件判断等,这些都是属于语法风格的范畴. 标识符 所谓的"标识符"就是对变量.标签.函数.方法.属性以及参数名称的统称. 标识符可以分为"用户自定义标识符"与"系统标识符&…
学习Javascript,最难的地方是什么? Object(对象)最难,初学者不容易掌握. Javascript是一种基于对象(object-based)的语言,它的语法中没有class(类). C#面向对象基础 1.类是数据封装的基本单位,是重复使用的最小单位. 类的成员:变量.方法.属性.事件.常数 对象是类在内存中的实体,类用于描述对象在内存中的数据. 2.静态方法可以不建立类的对象,即不用new实例化,而用类直接调用:类名.方法名() Static变量通常用于配置全局共用的区块 3.ne…
第三章 基本概念 1.任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要涉及这门语言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念. 2.浮点数值,该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字. 3.保存浮点数值需要的内存空间是保存整数值的两倍. 4.浮点数值的最高精度是17位小数.经典问题0.1 + 0.2 !== 0.3. 5. Number.MIN_VALUE, 5e-324.    Number.MAX_VALUE,1.79769…
Undefined类型 该类型只有一个值,即undefined. 对未初始化的变量和未定义的变量,用typeof检测,都会返回'undefined' Null类型 该类型只有一个值,null.并且从逻辑角度看,null值表示一个空对象指针,所以typeof null =='object'. 只要意在保存对象的变量还没有真正的保存对象,就应该明确的让该变量保存null值. var a = null; if (a) { a.again = 1; } else { a.again = 2; } //这…
Element对象对应网页的HTML标签元素.每一个HTML标签元素,在DOM树上都会转化成一个Element节点对象(以下简称元素节点).元素节点的nodeType属性都是1,但是不同HTML标签生成的元素节点是不一样的.JavaScript内部使用不同的构造函数,生成不同的Element节点,比如a标签的节点对象由HTMLAnchorElement()构造函数生成,button标签的节点对象由HTMLButtonElement()构造函数生成.因此,元素节点不是一种对象,而是一组对象. 属性…
函数表达式的特征 使用函数实现递归 使用闭包定义私有变量 前面我们说到定义函数有两种方式:函数声明.函数表达式. 两者的区别在于函数声明提升,前者在执行之前的上下文环境中直接被赋值,而后者不会. 一.递归 递归函数是一个函数通过名字调用自身的情况下构成的.      function factorial(num){          if(num<1){              return 1;          }else{              return num * argume…
二.继承 OO是面向对象语言最为有魅力的概念.一般的OO语言都实现了两种继承,接口继承和实现继承.接口继承只继承方法签名,而实际继承继承了实际的方法. 而在JS中,函数没有签名,所以无法实现接口继承.只能依靠原型链--实现继承. 2.1原型链 JS中描述了原型链的概念,并利用原型链作为实现继承的主要方法. 其基本思想:利用原型链让一个引用类型继承另一个引用类型的属性和方法. functionSuperF(){ this.superPropty ='B'; } SuperF.prototype.g…
引用类型是一种数据结构.它也被称作类.有时也被称作 对象的定义. 对象 是某个特定引用类型的实例.   一.Object类型 表达式上下文(expression context):指能够返回一个值 语句上下文(statement context):表示一个语句块的开始(例:if语句) 构造方式: 创建Object类型实例的方法: 1.普通方法 new object(); 2.对象字面量方法 var person = { name : "zjh" , age : "22&quo…
五.Function类型 是JS中最重要的一种引用类型 构造方式:(三种) 函数声明: 函数表达式定义: 函数构造器: 没有重载: 如果有两个相同函数名的函数,执行时,执行最近被定义的一次. 函数声明和函数表达式: 函数声明和函数表达式两种常用创建函数的方式虽然作用一致,但是解析器在向执行环境中加载数据时是不一样的. alter( sum( 10 , 20 ) ); var sum = function( a , b ){     return a+b; } 以上代码是错误的,在以上代码的初始化…
JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型值和引用类型值具有以下特点: 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 从一个变量向另一个变量复制基本类型值,会创建这个值的一个副本: 引用类型的值是对象,保存在堆内存中: 包含引用类型值得变量实际上包含的并不是对象本身,而是一个指向该对象的指针: 从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象: 确定一个值是哪种基本类型可以使用typeof操作符,而…
第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象的属性和方法. 例: var age = 20; function sayAge(){ alert(this.age); } alert(window.age); window.sayAge(); 定义全局变量与在window对象上直接定义属性区别:全局变量不能通过delete操作符删除,而直接在w…
变量 ECMAScript变量是松散类型的,即可以保存任何类型的数据. 初始化变量不会把它标记类型,初始化的过程只是给变量付一个值,因此可以在修改变量的同时修改值的类型.但并不推荐这样做. var message ="hi"; message =100;// 有效,但不推荐 使用var操作符定义的变量将称为定义该变量的作用域中的局部变量.也就是说,如果在函数中使用使用var定义一个变量,那么这个变量在函数推出后就会被销毁.例如: function test(){ var message…
这章讲了JavaScript的语法.数据类型.流控制语句和函数.理解还是挺好理解的,但有很多和C.C++.Java不同的地方需要记忆.比如, JavaScript标识符可以由Unicode字符字符组成. JavaScript每条语句后面的分号也不是必需的,语句后面没有分号时,解析器会自己确定语句的结尾. "+","-","*"."/"."&&"."||"."!&…
在HTML中引用javaScript javascript的几个属性  type async(异步加载 只适用于外部JS且IE8以上 HTML5规范 先于load执行) src defer(延迟加载 只适用于外部加载 先于load执行) 在HTML中使用外部JS代码的优点,1.便于维护 ,2.可缓存.3.适应未来. 在javascript中区分变量的大小写 比如(test 和 Text是☞的两个变量) 在ECMA5中新模式,严格模式  'use strict'在js代码中加入这句话即为严格模式…