自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (2)
  • 收藏
  • 关注

转载 百度等搜索引擎智能提示(JSONP跨域实现自动补全搜索建议)

百度、淘宝、搜狗等搜索引擎智能提示(JSONP跨域实现自动补全搜索建议)), 搜索引擎智能提示JSONP跨域实现自动补,ajax,jsonp

2017-09-04 11:00:25 19182 5

原创 html中如何去掉浏览器右边的滚动条

<body style="overflow-x: hidden">:表示去掉水平滚动条。<body style="overflow-y: hidden">:表示去掉竖直滚动条。<body style="overflow-x:hidden;overflow-y:scroll">:表示隐藏横向滚动条,显示纵向滚动条:<body style="ov

2018-07-12 16:45:37 36673 3

转载 详述 hosts 文件的作用及修改 hosts 文件的方法

1什么是hosts文件?  hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页,如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析2 hosts文件的作用2.1 加快域...

2018-04-29 18:14:31 1437

原创 在组件中设置定时器倒计时,改变this的指向来操作data中的值

components:{      "test":{          template:"#tem",          data:function () {              return {                  val:10,                  minute:0,                  second:0    

2018-01-25 15:36:24 640

原创 vue.js指令v-for使用以及下标索引的获取

在 v-for 代码块中,我们可以完全地访问父级作用域下的属性。v-for 还支持可选的第二个参数,作为当前项的索引。也可以使用 v-for 来遍历对象的属性。还可以提供第二个参数,作为对象的键名(key):[plain] view plain copy                  {{ite

2017-10-30 10:19:45 11732

原创 v-if和v-show区别

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <div id="app"> <div v-if="isIf">v-if</div> <div v-show="ifShow">v-show</div>

2017-10-22 22:37:57 3749

原创 width和height解决全布局不会撑起来

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ bottom: 0; margin: 0; } .aa{ width:

2017-10-22 21:02:32 2391

转载 HTML中input和button解决等高不对齐的原因

在HTML中input和button有不能一样高的原因吗怎么去解决他,下面给你一个解决方法 .text{ height: 45px; width: 180px; background: yellow; } .button{

2017-10-16 12:58:20 10495 2

原创 node.安装教程和一些命令输入

1、下载下载地址:https://nodejs.org/zh-cn/download/ 选择相应的版本下载 (1)下载好的安装包直接安装就可以了 (2)直接键盘上Windows+r输入cmd就可以打开dos窗口了。 (3)检查node.js是否安装成功,在dos窗口输入 node -v 查询当前node版本号,查询成功,就是安装成功了 安装成功之后,下面就要去试着运行js文件了 e

2017-10-16 11:27:25 3151

原创 WebStorm安装教程和激活方式

WebStorm官网地址:http://www.jetbrains.com/webstorm/去官网下载最新版本进行安装.下载之后进行安装

2017-10-15 13:27:31 5747

原创 CDN详解

在百度上看了好多关于cdn文档,简单的了解下,cdn原理是什么?他的核心理念是什么?在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:用户提交域名→浏览器对域名进行解释→得到目的主机的IP地址→根据IP地址访问发出请求→得到请求数据并回复由上可见,用户访问未使用CDN缓存网站的过程为:

2017-09-27 23:44:10 2387

转载 跨域资源共享 CORS

它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。(图片说明:摄于阿联酋艾因(Al Ain)的绿洲公园)一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于

2017-09-27 23:25:06 1847

原创 Windows cmd命令大全

1.首先,打开cmd命令,windows窗口键+R,打开运行,输入cmd确定,或者打开开始菜单,在搜索程序和文件的输入框中输入cmd.2.在这里直接输入命令,可以打开windows常用的小程序,例如mspaint,calc打开计算器等。

2017-09-26 00:39:51 3755

原创 JDK的安装及环境变量的配置

1、JDK下载:首先去oracle的官网下载JDK,网址为http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,点击红色箭头所指图标进入详细下载页,此页包含所有平台的JDK,Windows、Linux、Mac、Linux Arm 、Solaris等,具体如下图:

2017-09-25 23:29:22 1654

原创 css引入的方式有哪些?link和@import的区别?

引入方式3种:行内添加定义style属性值,页面头部内内嵌调用和外链调用,区别:1.link是xhtml标签,除了加载css外,还可以定义RSS等其他事务,@import只能加载CSS2.link引用CSS时候,页面载入的时候同时加载,@import需要页面网页完全载入后加载3.link是XHTML标签,没有兼容问题,@import是在CSS2.1提出的,低版本的浏

2017-09-20 01:26:13 2509

原创 在JS中typeof返回的结果有哪几种?

JS中typeof返回结果有六种如下:number (数字)boolean(布尔)string(字符串)object(对象)function(函数)undefined(未定义)

2017-09-20 01:09:32 9203

原创 html --table表格

简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。比如:caption:表格的题目thead:表头tbody:表体tfoot:表尾th:一行一般用于表头tr:一行一般用于表体td:一列 有rowspan和colspan 合并行与合并列table > tr> td colspan="3

2017-09-20 00:57:21 2433

原创 块级元素与内联元素用法

块级元素与 内联元素的区别块级元素:(1)独占一行。(2)宽和高能够起作用 内联元素(行内元素)与块级元素相反。块级元素常见的有: div、p、tr、th、h、ol、 ul、li、dl、table等 内联元素常见的有: a、td、span、input、button等块级元素与内联元素的嵌套一般所有的块级元素内可以放内联元素。 块级元素

2017-09-20 00:49:34 3241

原创 Javascript计时器

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。提供了两种计时器的方法如下:window.setInterval(); 这个方法就是在一个周期内反复执行一直到窗口关闭或者 clearInterval()window.setTimeout(); 延迟执行内容setInterval()的使用方法: 

2017-09-20 00:32:36 2675

转载 js动态添加点击事件常见错误

在前端中,我们经常要添加点击事件。尤其是在动态的元素上添加点击事件。经常会添加之后没有反应。 可能的原因:点击事件的名称写错 这种低级的错误经常犯,在js代码中添加的事件其实是没有添加的。两者的名字不同或者,选择器有问题没有选中元素。 这个问题可以在调试的窗口选中元素在监听事件中去查看有没有添加上监听事件 如图:  就已经添加上了点击事件,如果没有。那么检查

2017-09-20 00:24:18 2679

原创 隐藏多余的字用 “省略号” 代替

在前端经常会遇到类似的效果。 比如图中的“风花雪月与古镇火山-.....”后面“....”就是一段文字显示不下的时候默认隐藏然后用…来代替。  只需要给元素加上以下3个css属性就可以实现了。 overflow: hidden;//多余的隐藏 text-overflow:ellipsis;//多出来的用省略号代替 whi

2017-09-20 00:07:40 2761

原创 for-in循环

做项目会经常使用遍历整个的值(for-in)。 遍历有几种方法for循环,通过这些数据本身的长度来控制,从头循环到尾。for(var j=0; istr.length; i++){ alert(str[j]);}123for-in循环,for循环的简单写法,专门用于遍历for(var i in arr){ alert(arr[i]);}123

2017-09-20 00:02:33 2127

原创 sass-安装ruby

sass是个很方便的工具。个人建议下载他的2.35版本好点。他的官方地址:                     http://www.ruby-lang.org/en/downloads/安装ruby 搭建sass环境,由于sass环境是依赖于ruby的所以要安装ruby ruby下载地址 下载的版本最好不要是最新的,并且下载时要按照电脑的系统来下载

2017-09-19 23:46:39 2525

原创 get和post区别

在客户端、服务器端要建立连接有两种方式。 一种是get方式 另一种是post方式 那么两者具体有什么区别呢显示有区别 get方法是将字符串拼接在地址栏后面可以看见 而post方法看不见传递的大小有区别 具体大小和浏览器有关系,ie浏览器是2k其他浏览器的最大值可能不同,但是也比较小。 而post方法传递参数的大小是可以设定的,原来是认为无限大。在Php当中在ph

2017-09-19 23:40:07 1373

原创 js 星星闪动

有趣的星星闪动案例给大家分享下,互相学习 开始动画.container{ position: relative; width: 600px; height: 600px; margin: 0 auto; background: black;}img{ position: absolute; width: 0; height

2017-09-19 17:09:31 2637

原创 javascript BOM

常用对象概念:BOM :Browser Object Model常用对象:Window:窗口,浏览器的窗口我们定义的全局变量和全局函数都是window对象的属性和方法。var a = 1;function test(){ var a = 2; alert(a); alert

2017-09-19 01:33:06 989

原创 Math对象和Number对象

Math对象:Math.max(n1,n2,n3):取得最大值Math.min(n1,n2,n3):取得最小值Math.PI:获得圆周率Math.E:获得e的值Math.pow (x,y):获得x的y次方Math.sqrt(x):获得x开根的值。Math.abs():获得x的绝对值。Math.floor();向下取整Math.ceil():向下取整Math.ro

2017-09-19 01:25:13 1526

原创 javascript日期

定义://var d = new Date();//记住这一行代码就行了var d= new Date(2017,3,22,8,30,22);不给参数,定义的日期为执行这条指令时那一刻的系统日期。当然也可以指定年月日时分秒参数,但是要特别注意的是月从0开始,即0表示1月修改日期分量:setYear、setMonth、setDate…… 获取日期分量g

2017-09-19 01:18:12 1072

原创 js字符串

定义:定义一个变量,然后直接将字符串赋值给它。var str ="abc123";字符串实际上是字符组成的数组,所以数组的方法它基本都有。(1)访问字符串里面的字符:a.数组方式:str[i];b.字符串特有的方式:charAt(i)。(2)查找a. 数组方式:indexofb. 字符串方式:search()方法:传入参数(要搜索的子串),返回子串的第一个字符在父串

2017-09-19 01:16:16 1118

原创 jquery正则表达式

为什么有正则表达式?因为查找是一个比较复杂的东西,我们更加准确快速查找自己想要的什么是正则表达式? 他可以定义一种字符串逻辑的公式,赖和要查找的字符串做匹配,找到自己想要的。定义规则:1.使用/规则/修饰符var patt = /helloCoolDog/i;

2017-09-19 01:07:50 2148

原创 javascript添加、删除、修改等元素

javascript添加、删除、修改等元素

2017-09-19 00:34:15 1838

原创 js函数

函数的概念为什么需要用函数?首先看一下输出100所有素数问题的解决方案方案一:循环的嵌套 for (var n=2; n<=100; n++) { var m = Math.ceil(Math.sqrt(n));//根据相关数学定理,查找范围可缩小至[2,sqrt(n)] var found = false;//找到因子的标

2017-09-18 20:34:02 1303

原创 JavaScript for循环和for循环嵌套

循环结构的概念先来看看生活中的一些场景:(1)食堂阿姨打菜:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上过程,直到所有顾客的菜都打完了。(2)快递员送快递:查看送件地址→赶往目的地→电话告知收件人→收件人签收→交快递件,重复以上过程,直到所有需要送的快递都处理完了。(3)公交司机……(4)作业流程……以上场景都有一个共同的特点:有条件地重复地做一件事,每一次做的事情不

2017-09-18 20:03:17 9900

原创 JavaScript switch语句与if语句

if语句if(条件满足为true){执行该语句。}else{执行另一个或者不执行。}if语句的套路:一个选择依据,两个选项3.3 switch语句switch的优点:1.选择结构更加清晰,一目了然。  2.执行速度相对较快。switch的执行逻辑:从switch后边圆括号里的变量与从case后边的常量相等的地方开始,依次执行后边的指令,直到指令结束。ca

2017-09-18 19:47:43 1854

原创 JavaScript 对象类型

对象类型对象在JS中对应的是object定义一个对象:vardog={name:"藏藏",type:"藏獒",color:"花色",         sex:"雄",age:3,marry:false};狗:名字:“藏藏”品种:“藏獒”颜色:“花色”性别:“雄”年龄:3狗的行为:走,跑,吃,叫是否婚配:否使用new Object()定义一个对

2017-09-18 19:43:46 1959

原创 localStorage.getItem与sessionStorage

什么是 localStorage.getItem和sessionStorage?就百度了下,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的userData,Firefox下面的globalStorage,以及Flash的本地存储,除了Flash之外,其他的几个都有一些兼容性的问题。sessionSto

2017-09-17 01:33:08 4839

原创 日期选择框架

全面重写的 layDate 包含了大量的更新,其中主要以:年选择器、年月选择器、日期选择器、时间选择器、日期时间选择器 五种类型的选择方式为基本核心,并且均支持范围选择(即双控件)。内置强劲的自定义日期格式解析和合法校正机制,含中文版和国际版,主题简约却又不失灵活多样。插件地址:               http://www.layui.com/laydate/用法:

2017-09-16 15:12:58 2584 2

转载 JSON.stringify(),JSON.parse(),toJSON()方法使用

1.JSON.stringify(),将value(Object,Array,String,Number...)序列化为JSON字符串2.JSON.parse(), 将JSON数据解析为js原生值3. toJSON(),作为JSON.stringify中第二个参数(函数过滤器)补充 支持 IE8+,FF3.5+,safari4+,opera10.5+,chrom

2017-09-13 10:34:31 3872

原创 HTML5主体结构元素

在HTML5中,定义了少量对所有元素都有效的属性。1.Contenteditable:pcontenteditable="true">我是一个段落,但是我可以编辑p>//可以被编辑的pcontenteditable="false">我是一个段落,但是我可以编辑p>//不可以被编辑的pcontenteditable >我是一个段落,没有设置contentedita

2017-09-11 21:21:55 1533

原创 HTML5全局属性

在HTML5中,定义了少量对所有元素都有效的属性。1.Contenteditable:pcontenteditable="true">我是一个段落,但是我可以编辑p>//可以被编辑的pcontenteditable="false">我是一个段落,但是我可以编辑p>//不可以被编辑的pcontenteditable >我是一个段落,没有设置contentedita

2017-09-11 21:18:52 1177

JavaScript高级程序设计(第3版)中文 高清 完整.pdf

JavaScript高级程序设计(第3版)》是JavaScript超级畅销书的最新版。ECMAScript5和HTML5在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript增添了很多适应未来发展的新特性。 《JavaScript高级程序设计》这一版除增加5章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。 全书从JavaScript语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax与Comet服务器端通信,HTML5表单、媒体、Canvas(包括WebGL)及WebWorkers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。 《JavaScript高级程序设计(第3版)》附录展望了未来的API和ECMAScriptHarmony规范。   《JavaScript高级程序设计(第3版)》适合有一定编程经验的Web应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。 作者简介 Nicholas C. Zakas(尼古拉斯?泽卡斯)世界顶级Web技术专家,现为雅虎公司界面呈现架构师,负责MyYahoo!和雅虎首页等大访问量站点的设计。尼古拉斯拥有丰富的Web开发和界面设计经验,曾经参与许多世界级大公司的Web解决方案开发。他还是HighPerformance JavaScript一书的作者,并与他人合作撰写了Professional Ajax和Even FasterWebSites。尼古拉斯拥有梅里马克学院计算机科学学士学位和埃迪柯特学院的MBA学位。他的个人网站是www.nczonline.net,他的Twitter别名是@slicknet。 目录: 第1章 javascript简介 1 1.1 javascript简史 1 1.2 javascript实现 2 1.2.1 ecmascript 3 1.2.2 文档对象模型(dom) 5 1.2.3 浏览器对象模型(bom) 8 1.3 javascript版本 8 1.4 小结 9 第2章 在html中使用javascript 10 2.1 (script)元素 10 2.1.1 标签的位置 12 2.1.2 延迟脚本 13 2.1.3 异步脚本 13 2.1.4 在xhtml中的用法 14 2.1.5 不推荐使用的语法 16 2.2 嵌入代码与外部文件 16 2.3 文档模式 16 2.4 (noscript)元素 18 2.5 小结 18 .第3章 基本概念 19 3.1 语法 19 3.1.1 区分大小写 19 3.1.2 标识符 19 3.1.3 注释 20 3.1.4 严格模式 20 3.1.5 语句 20 3.2 关键字和保留字 21 3.3 变量 22 3.4 数据类型 23 3.4.1 typeof操作符 23 3.4.2 undefined类型 24 3.4.3 null类型 25 3.4.4 boolean类型 26 3.4.5 number类型 27 3.4.6 string类型 32 3.4.7 object类型 35 3.5 操作符 36 3.5.1 一元操作符 36 3.5.2 位操作符 39 3.5.3 布尔操作符 44 3.5.4 乘性操作符 47 3.5.5 加性操作符 48 3.5.6 关系操作符 50 3.5.7 相等操作符 51 3.5.8 条件操作符 53 3.5.9 赋值操作符 53 3.5.10 逗号操作符 54 3.6 语句 54 3.6.1 if语句 54 3.6.2 do-while语句 55 3.6.3 while语句 55 3.6.4 for语句 56 3.6.5 for-in语句 57 3.6.6 label语句 58 3.6.7 break和continue语句 58 3.6.8 with语句 60 3.6.9 switch语句 60 3.7 函数 62 3.7.1 理解参数 64 3.7.2 没有重载 66 3.8 小结 67 第4章 变量、作用域和内存问题 68 4.1 基本类型和引用类型的值 68 4.1.1 动态的属性 68 4.1.2 复制变量值 69 4.1.3 传递参数 70 4.1.4 检测类型 72 4.2 执行环境及作用域 73 4.2.1 延长作用域链 75 4.2.2 没有块级作用域 76 4.3 垃圾收集 78 4.3.1 标记清除 78 4.3.2 引用计数 79 4.3.3 性能问题 80 4.3.4 管理内存 81 4.4 小结 81 第5章 引用类型 83 5.1 object类型 83 5.2 array类型 86 5.2.1 检测数组 88 5.2.2 转换方法 89 5.2.3 栈方法 90 5.2.4 队列方法 91 5.2.5 重排序方法 92 5.2.6 操作方法 94 5.2.7 位置方法 95 5.2.8 迭代方法 96 5.2.9 缩小方法 97 5.3 date类型 98 5.3.1 继承的方法 100 5.3.2 日期格式化方法 101 5.3.3 日期/时间组件方法 102 5.4 regexp类型 103 5.4.1 regexp实例属性 105 5.4.2 regexp实例方法 106 5.4.3 regexp构造函数属性 107 5.4.4 模式的局限性 109 5.5 function类型 110 5.5.1 没有重载(深入理解) 111 5.5.2 函数声明与函数表达式 111 5.5.3 作为值的函数 112 5.5.4 函数内部属性 113 5.5.5 函数属性和方法 116 5.6 基本包装类型 118 5.6.1 boolean类型 120 5.6.2 number类型 120 5.6.3 string类型 122 5.7 单体内置对象 130 5.7.1 global对象 131 5.7.2 math对象 134 5.8 小结 137 第6章 面向对象的程序设计 138 6.1 理解对象 138 6.1.1 属性类型 139 6.1.2 定义多个属性 142 6.1.3 读取属性的特性 143 6.2 创建对象 144 6.2.1 工厂模式 144 6.2.2 构造函数模式 144 6.2.3 原型模式 147 6.2.4 组合使用构造函数模式和原型模式 159 6.2.5 动态原型模式 159 6.2.6 寄生构造函数模式 160 6.2.7 稳妥构造函数模式 161 6.3 继承 162 6.3.1 原型链 162 6.3.2 借用构造函数 167 6.3.3 组合继承 168 6.3.4 原型式继承 169 6.3.5 寄生式继承 171 6.3.6 寄生组合式继承 172 6.4 小结 174 第7章 函数表达式 175 7.1 递归 177 7.2 闭包 178 7.2.1 闭包与变量 181 7.2.2 关于this对象 182 7.2.3 内存泄漏 183 7.3 模仿块级作用域 184 7.4 私有变量 186 7.4.1 静态私有变量 188 7.4.2 模块模式 189 7.4.3 增强的模块模式 191 7.5 小结 192 第8章 bom 193 8.1 window对象 193 8.1.1 全局作用域 193 8.1.2 窗口关系及框架 194 8.1.3 窗口位置 197 8.1.4 窗口大小 198 8.1.5 导航和打开窗口 199 8.1.6 间歇调用和超时调用 203 8.1.7 系统对话框 205 8.2 location对象 207 8.2.1 查询字符串参数 207 8.2.2 位置操作 208 8.3 navigator对象 210 8.3.1 检测插件 211 8.3.2 注册处理程序 213 8.4 screen对象 214 8.5 history对象 215 8.6 小结 216 第9章 客户端检测 217 9.1 能力检测 217 9.1.1 更可靠的能力检测 218 9.1.2 能力检测,不是浏览器检测 220 9.2 怪癖检测 220 9.3 用户代理检测 221 9.3.1 用户代理字符串的历史 222 9.3.2 用户代理字符串检测技术 228 9.3.3 完整的代码 242 9.3.4 使用方法 245 9.4 小结 246 第10章 dom 247 10.1 节点层次 247 10.1.1 node类型 248 10.1.2 document类型 253 10.1.3 element类型 261 10.1.4 text类型 270 10.1.5 comment类型 273 10.1.6 cdatasection类型 274 10.1.7 documenttype类型 274 10.1.8 documentfragment类型 275 10.1.9 attr类型 276 10.2 dom操作技术 277 10.2.1 动态脚本 277 10.2.2 动态样式 279 10.2.3 操作表格 281 10.2.4 使用nodelist 283 10.3 小结 284 第11章 dom扩展 286 11.1 选择符api 286 11.1.1 queryselector()方法 286 11.1.2 queryselectorall() 方法 287 11.1.3 matchesselector() 方法 288 11.2 元素遍历 288 11.3 html5 289 11.3.1 与类相关的扩充 289 11.3.2 焦点管理 291 11.3.3 htmldocument的变化 292 11.3.4 字符集属性 293 11.3.5 自定义数据属性 293 11.3.6 插入标记 294 11.3.7 scrollintoview()方法 298 11.4 专有扩展 298 11.4.1 文档模式 298 11.4.2 children属性 299 11.4.3 contains()方法 300 11.4.4 插入文本 301 11.4.5 滚动 303 11.5 小结 304 第12章 dom2和dom3 305 12.1 dom变化 305 12.1.1 针对xml命名空间的变化 306 12.1.2 其他方面的变化 309 12.2 样式 312 12.2.1 访问元素的样式 313 12.2.2 操作样式表 317 12.2.3 元素大小 320 12.3 遍历 326 12.3.1 nodeiterator 328 12.3.2 treewalker 330 12.4 范围 332 12.4.1 dom中的范围 332 12.4.2 ie8及更早版本中的范围 340 12.5 小结 343 第13章 事件 345 13.1 事件流 345 13.1.1 事件冒泡 346 13.1.2 事件捕获 346 13.1.3 dom事件流 347 13.2 事件处理程序 348 13.2.1 html事件处理程序 348 13.2.2 dom0级事件处理程序 350 13.2.3 dom2级事件处理程序 351 13.2.4 ie事件处理程序 352 13.2.5 跨浏览器的事件处理程序 353 13.3 事件对象 355 13.3.1 dom中的事件对象 355 13.3.2 ie中的事件对象 358 13.3.3 跨浏览器的事件对象 360 13.4 事件类型 362 13.4.1 ui事件 362 13.4.2 焦点事件 367 13.4.3 鼠标与滚轮事件 368 13.4.4 键盘与文本事件 379 13.4.5 复合事件 384 13.4.6 变动事件 385 13.4.7 html5事件 388 13.4.8 设备事件 395 13.4.9 触摸与手势事件 399 13.5 内存和性能 402 13.5.1 事件委托 402 13.5.2 移除事件处理程序 404 13.6 模拟事件 405 13.6.1 dom中的事件模拟 405 13.6.2 ie中的事件模拟 410 13.7 小结 411 第14章 表单脚本 412 14.1 表单的基础知识 412 14.1.1 提交表单 413 14.1.2 重置表单 414 14.1.3 表单字段 414 14.2 文本框脚本 419 14.2.1 选择文本 420 14.2.2 过滤输入 423 14.2.3 自动切换焦点 426 14.2.4 html5约束验证api 427 14.3 选择框脚本 431 14.3.1 选择选项 432 14.3.2 添加选项 434 14.3.3 移除选项 435 14.3.4 移动和重排选项 435 14.4 表单序列化 436 14.5 富文本编辑 438 14.5.1 使用contenteditable 属性 438 14.5.2 操作富文本 439 14.5.3 富文本选区 441 14.5.4 表单与富文本 443 14.6 小结 443 第15章 使用canvas绘图 445 15.1 基本用法 445 15.2 2d上下文 446 15.2.1 填充和描边 446 15.2.2 绘制矩形 447 15.2.3 绘制路径 449 15.2.4 绘制文本 451 15.2.5 变换 453 15.2.6 绘制图像 456 15.2.7 阴影 457 15.2.8 渐变 458 15.2.9 模式 460 15.2.10 使用图像数据 460 15.2.11 合成 462 15.3 webgl 463 15.3.1 类型化数组 463 15.3.2 webgl上下文 468 15.3.3 支持 478 15.4 小结 478 第16章 html5脚本编程 480 16.1 跨文档消息传递 480 16.2 原生拖放 481 16.2.1 拖放事件 482 16.2.2 自定义放置目标 482 16.2.3 datatransfer对象 483 16.2.4 dropeffect与effectallowed 484 16.2.5 可拖动 485 16.2.6 其他成员 485 16.3 媒体元素 486 16.3.1 属性 487 16.3.2 事件 488 16.3.3 自定义媒体播放器 488 16.3.4 检测编解码器的支持情况 489 16.3.5 audio类型 490 16.4 历史状态管理 491 16.5 小结 492 第17章 错误处理与调试 493 17.1 浏览器报告的错误 493 17.1.1 ie 493 17.1.2 firefox 494 17.1.3 safari 496 17.1.4 opera 497 17.1.5 chrome 498 17.2 错误处理 499 17.2.1 try-catch语句 500 17.2.2 抛出错误 503 17.2.3 错误(error)事件 505 17.2.4 处理错误的策略 506 17.2.5 常见的错误类型 507 17.2.6 区分致命错误和非致命 错误 510 17.2.7 把错误记录到服务器 511 17.3 调试技术 512 17.3.1 将消息记录到控制台 512 17.3.2 将消息记录到当前页面 515 17.3.3 抛出错误 515 17.4 常见的ie错误 516 17.4.1 操作终止 516 17.4.2 无效字符 518 17.4.3 未找到成员 518 17.4.4 未知运行时错误 519 17.4.5 语法错误 519 17.4.6 系统无法找到指定资源 519 17.5 小结 520 第18章 javascript与xml 521 18.1 浏览器对xml dom的支持 521 18.1.1 dom2级核心 521 18.1.2 domparser类型 522 18.1.3 xmlserializer类型 523 18.1.4 ie8及之前版本中的xml 523 18.1.5 跨浏览器处理xml 527 18.2 浏览器对xpath的支持 529 18.2.1 dom3级xpath 529 18.2.2 ie中的xpath 534 18.2.3 跨浏览器使用xpath 535 18.3 浏览器对xslt的支持 537 18.3.1 ie中的xslt 537 18.3.2 xsltprocessor类型 541 18.3.3 跨浏览器使用xslt 543 18.4 小结 544 第19章 e4x 546 19.1 e4x的类型 546 19.1.1 xml类型 546 19.1.2 xmllist类型 547 19.1.3 namespace类型 548 19.1.4 qname类型 549 19.2 一般用法 550 19.2.1 访问特性 551 19.2.2 其他节点类型 552 19.2.3 查询 553 19.2.4 构建和操作xml 555 19.2.5 解析和序列化 557 19.2.6 命名空间 558 19.3 其他变化 559 19.4 全面启用e4x 560 19.5 小结 561 第20章 json 562 20.1 语法 562 20.1.1 简单值 562 20.1.2 对象 563 20.1.3 数组 564 20.2 解析与序列化 565 20.2.1 json对象 565 20.2.2 序列化选项 566 20.2.3 解析选项 569 20.3 小结 570 第21章 ajax与comet 571 21.1 xmlhttprequest对象 571 21.1.1 xhr的用法 573 21.1.2 http头部信息 575 21.1.3 get请求 576 21.1.4 post请求 577 21.2 xmlhttprequest 2级 578 21.2.1 formdata 578 21.2.2 超时设定 579 21.2.3 overridemimetype() 方法 580 21.3 进度事件 580 21.3.1 load事件 580 21.3.2 progress事件 581 21.4 跨源资源共享 582 21.4.1 ie对cors的实现 582 21.4.2 其他浏览器对cors的 实现 584 21.4.3 preflighted reqeusts 584 21.4.4 带凭据的请求 585 21.4.5 跨浏览器的cors 585 21.5 其他跨域技术 586 21.5.1 图像ping 586 21.5.2 jsonp 587 21.5.3 comet 588 21.5.4 服务器发送事件 590 21.5.5 web sockets 591 21.5.6 sse与web sockets 593 21.6 安全 593 21.7 小结 594 第22章 高级技巧 596 22.1 高级函数 596 22.1.1 安全的类型检测 596 22.1.2 作用域安全的构造函数 597 22.1.3 惰性载入函数 600 22.1.4 函数绑定 602 22.1.5 函数柯里化 604 22.2 防篡改对象 606 22.2.1 不可扩展对象 606 22.2.2 密封的对象 607 22.2.3 冻结的对象 608 22.3 高级定时器 609 22.3.1 重复的定时器 610 22.3.2 yielding processes 612 22.3.3 函数节流 614 22.4 自定义事件 616 22.5 拖放 618 22.5.1 修缮拖动功能 620 22.5.2 添加自定义事件 622 22.6 小结 624 第23章 离线应用与客户端存储 626 23.1 离线检测 626 23.2 应用缓存 627 23.3 数据存储 628 23.3.1 cookie 629 23.3.2 ie用户数据 637 23.3.3 web存储机制 638 23.3.4 indexeddb 643 23.4 小结 654 第24章 最佳实践 656 24.1 可维护性 656 24.1.1 什么是可维护的代码 656 24.1.2 代码约定 657 24.1.3 松散耦合 659 24.1.4 编程实践 662 24.2 性能 666 24.2.1 注意作用域 666 24.2.2 选择正确方法 667 24.2.3 最小化语句数 672 24.2.4 优化dom交互 673 24.3 部署 676 24.3.1 构建过程 676 24.3.2 验证 677 24.3.3 压缩 679 24.4 小结 681 第25章 新兴的api 682 25.1 requestanimationframe() 682 25.1.1 早期动画循环 682 25.1.2 循环间隔的问题 683 25.1.3 mozrequestanimation-frame 683 25.1.4 webkitrequestanima-tionframe与msrequest-animationframe 685 25.2 page visibility api 686 25.3 geolocation api 687 25.4 file api 689 25.4.1 filereader类型 690 25.4.2 读取部分内容 692 25.4.3 对象url 693 25.4.4 读取拖放的文件 694 25.4.5 使用xhr上传文件 695 25.5 web计时 696 25.6 web workers 697 25.6.1 使用

2017-08-03

JavaScript权威指南(第6版)(中文版+英文版+书中例子源码)

中文翻译由淘宝前端开发团队翻译。真正的完整版,中文版+英文版+源码! 《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增的章节包括jQuery、服务器端JavaScript、图形编程以及 JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的 JavaScript 开发者随手翻阅。 David Flanagan是一名程序员,也是一名作家,它的个人网站是 。他在O’Reilly出版的其他畅销书还包括《JavaScript Pocket Reference》、《The Ruby Programming Language》、以及《Java in a Nutshell》。David毕业于麻省理工学院,获得计算机科学与工程学位。他和妻子和孩子一起生活在西雅图和温哥华之间的美国太平洋西北海岸。 目录: 前言 第1章 JavaScript概述 1.1 JavaScript语言核心 1.2 客户端JavaScript 第一部分 JavaScript 语言核心 第2章 词法结构 2.1 字符集 2.2 注释 2.3 直接量 2.4 标识符和保留字 2.5 可选的分号 第3章 类型、值和变量 3.1 数字 3.2 文本 3.3 布尔值 3.4 null和undefined 3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 4.11 赋值表达式 4.12 表达式计算 4.13 其他运算符 第5章 语句 5.1 表达式语句 5.2 复合语句和空语句 5.3 声明语句 5.4 条件语句 5.5 循环 5.6 跳转 5.7 其他语句类型 5.8 JavaScript语句小结 第6章 对象 6.1 创建对象 6.2 属性的查询和设置 6.3 删除属性 6.4 检测属性 6.5 枚举属性 6.6 属性getter和setter 6.7 属性的特性 6.8 对象的三个属性 6.9 序列化对象 6.10 对象方法 第7章 数组 7.1 创建数组 7.2 数组元素的读和写 7.3 稀疏数组 7.4 数组长度 7.5 数组元素的添加和删除 7.6 数组遍历 7.7 多维数组 7.8 数组方法 7.9 ECMAScript 5中的数组方法 7.10 数组类型 7.11 类数组对象 7.12 作为数组的字符串 第8章 函数 8.1 函数定义 8.2 函数调用 8.3 函数的实参和形参 8.4 作为值的函数 8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向对象技术 9.7 子类 9.8 ECMAScript 5 中的类 9.9 模块 第10章 正则表达式的模式匹配 10.1 正则表达式的定义 10.2 用于模式匹配的String方法 10.3 RegExp对象 第11章 JavaScript的子集和扩展 11.1 JavaScript的子集 11.2 常量和局部变量 11.3 解构赋值 11.4 迭代 11.5 函数简写 11.6 多catch 从句 11.7 E4X: ECMAScript for XML 第12章 服务器端JavaScript 12.1 用Rhino脚本化Java 12.2 用Node实现异步I/O 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 13.1 客户端JavaScript 13.2 在HTML里嵌入JavaScript 13.3 JavaScript程序的执行 13.4 兼容性和互用性 13.5 可访问性 13.6 安全性 13.7 客户端框架 第14章 Window对象 14.1 计时器 14.2 浏览器定位和导航 14.3 浏览历史 14.4 浏览器和屏幕信息 14.5 对话框 14.6 错误处理 14.7 作为Window对象属性的文档元素 14.8 多窗口和窗体 第15章 脚本化文档 15.1 DOM概览 15.2 选取文档元素 15.3 文档结构和遍历 15.4 属性 15.5 元素的内容 15.6 创建、插入和删除节点 15.7 例子:生成目录表 15.8 文档和元素的几何形状和滚动 15.9 HTML表单 15.10 其他文档特性 第16章 脚本化CSS 16.1 CSS概览 16.2 重要的CSS属性 16.3 脚本化内联样式 16.4 查询计算出的样式 16.5 脚本化CSS类 16.6 脚本化样式表 第17章 事件处理 17.1 事件类型 17.2 注册事件处理程序 17.3 事件处理程序的调用 17.4 文档加载事件 17.5 鼠标事件 17.6 鼠标滚轮事件 17.7 拖放事件 17.8 文本事件 17.9 键盘事件 第18章 脚本化HTTP 18.1 使用XMLHttpRequest 18.2 借助发送HTTP请求:JSONP 18.3 基于服务器端推送事件的Comet技术 第19章 jQuery类库 19.1 jQuery基础 19.2 jQuery的getter和setter 19.3 修改文档结构 19.4 使用jQuery处理事件 19.5 动画效果 19.6 jQuery中的Ajax 19.7 工具函数 19.8 jQuery选择器和选取方法 19.9 jQuery的插件扩展 19.10 jQuery UI类库 第20章 客户端存储 20.1 localStorage和sessionStorage 20.2 cookie 20.3 利用IE userData持久化数据 20.4 应用程序存储和离线Web应用 第21章 多媒体和图形编程 21.1 脚本化图片 21.2 脚本化音频和视频 21.3 SVG:可伸缩的矢量图形 21.4 中的图形 第22章 HTML5 API 22.1 地理位置 22.2 历史记录管理 22.3 跨域消息传递 22.4 Web Worker 22.5 类型化数组和ArrayBuffer 22.6 Blob 22.7 文件系统API 22.8 客户端数据库 22.9 Web套接字 第三部分 JavaScript核心参考 JavaScript核心参考 第四部分 客户端JavaScript参考 客户端JavaScript参考

2017-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除