随笔分类 -  JavaScript

javascript的一些算法备忘
摘要:第20章 JSON JOSN,JavaScript对象表示法,是JS的一个严格的子集,但是它是一种数据格式,虽然与JS具有相同的语法形式,但是不从属于JS。 1、语法 ①可表示简单值——字符串、数值、布尔值、null,但不支持undefined; ②对象——复杂数据类型,一组无序键值对儿,值可以是简 阅读全文
posted @ 2016-12-19 10:01 ZhangCui 阅读(201) 评论(0) 推荐(0) 编辑
摘要:原理:使用insertBefore和insertAfter方法调整图片顺序。 测试:firefox/chrome/IE11正常 已知不足:每次播放均使用了一次insertBefore和insertAfter,可考虑在最后一张图的时候将前几张图片整体后移。以后有空再优化。 1、HTML结构 alt的值 阅读全文
posted @ 2016-12-18 13:39 ZhangCui 阅读(10860) 评论(0) 推荐(0) 编辑
摘要:第十七章 错误处理与调试 1、try-catch语句。如果try块中的任何代码发生了错误,就会立即退出执行开始执行catch块。必须要给catch的错误对象起名字。不同浏览器都有一个message属性保存错误消息。 2、finally子句,在try-catch块后,无论如何都会执行finally子句 阅读全文
posted @ 2016-12-11 14:53 ZhangCui 阅读(148) 评论(0) 推荐(0) 编辑
摘要:第十六章 HTML5脚本编程 1、跨文档消息传递。简称XDM,指的是来自不同域的页面间传递消息。 XDM的核心是postMessage()方法,接收两个参数,一条消息和消息接收方来自哪个域的字符串。 接收到XDM消息时,会触发window对象的message事件,异步触发。 为保险起见,第一个参数传 阅读全文
posted @ 2016-12-10 21:24 ZhangCui 阅读(152) 评论(0) 推荐(0) 编辑
摘要:第十五章 canvas绘图 1、WebGL是针对Canvas的3D上下文。 2、类型化数组 WebGL涉及的复杂计算需要提前知道数值的精度,而标准的JS数值无法满足需求。因此WebGL引入了一个概念,叫类型化数组。它的核心是一个名为ArrayBuffer(数组缓冲器)的类型,每个ArrayBuffe 阅读全文
posted @ 2016-12-08 14:19 ZhangCui 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1、 随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。 或者说,this指向当前执行的函数的所有者。 2、情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 3、情况二:作为对象方法的调 阅读全文
posted @ 2016-12-07 15:26 ZhangCui 阅读(752) 评论(0) 推荐(0) 编辑
摘要:第十五章 使用canvas绘图 1、要使用<canvas>元素,必须先设置其width和height属性。 2、要在这块画布上绘图,需要先取得绘图上下文,取得绘图上下文对象的引用,需要调用getContext()方法并传入上下文的名字,如2d。使用前先对getContext进行能力检测。 3、使用t 阅读全文
posted @ 2016-12-07 14:32 ZhangCui 阅读(142) 评论(0) 推荐(0) 编辑
摘要:依然第十四章 1、选择部分文本:使用setSelectionRange()方法,两个参数为第一个字符的索引和最后一个字符之后的索引,类似于substring()方法。 2、IE8及更早版本使用范围选择部分文本。 3、通过阻止keypress的默认事件,可以屏蔽输出字符,使文本框变为只读。 4、访问剪 阅读全文
posted @ 2016-12-06 15:02 ZhangCui 阅读(179) 评论(0) 推荐(0) 编辑
摘要:第十四章 表单脚本 1、通过getElementBy**可以获得<form>元素,或者通过document.forms可以取得页面中所有的表单,可以通过数值索引或者name值取得特定的表单。 2、提交表单时,浏览器会在将请求发送到服务器之前触发submit事件,这样我们就有机会验证表单数据,并决定是 阅读全文
posted @ 2016-12-05 17:28 ZhangCui 阅读(265) 评论(0) 推荐(0) 编辑
摘要:性能优化的方法有: 1、减少HTTP请求:合并CSS/JS,使用CSS sprite等 2、压缩CSS/JS/图片 3、样式表放头部,JS放body底部:JS放在head中,将会等到js全部下载解析和执行后才会显示页面内容。 4、减少DOM操作,DOM操作很消耗性能,另外注意HTMLCollecti 阅读全文
posted @ 2016-12-05 13:31 ZhangCui 阅读(133) 评论(0) 推荐(0) 编辑
摘要:依然第十三章 事件 1、页面上的所有元素都支持鼠标事件,除了mouseenter和mouseleave,所有鼠标事件都会冒泡。 2、修改键:shift、ctrl、alt、meta。四个属性表示修改键的状态:shiftKey等。 3、event对象的relatedTarget属性提供了相关元素的信息。 阅读全文
posted @ 2016-12-02 11:22 ZhangCui 阅读(238) 评论(0) 推荐(0) 编辑
摘要:第十三章 事件 1、DOM2级事件规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。 2、大部分浏览器都会在捕获阶段出发对象上的事件,结果就是,有两个机会在目标对象上面操作事件。 3、事件是用户或浏览器自身执行的某种动作,比如click、load、mouseover,都是事件的名字 阅读全文
posted @ 2016-12-01 17:43 ZhangCui 阅读(1517) 评论(0) 推荐(0) 编辑
摘要:第十一章 DOM扩展 1、对DOM的两个主要的扩展是Selectors API(选择符API)和HTML5。 2、jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用,从而抛开了getElementById()和getElementsByTagName()。 3、Selector AP 阅读全文
posted @ 2016-11-30 11:56 ZhangCui 阅读(274) 评论(0) 推荐(0) 编辑
摘要:找到你的另一半 都说优秀的程序员擅长面向对象编程,但却经常找不到另一半,这是为什么呢?因为你总是把自己局限成为一个程序员,没有打开自己的思维。 这是一个社群的时代啊,在这里你应该找到与你有相同价值观但又互补的另一半。 譬如:你编程能力强,估值11分,如果以20分为最佳情侣来计算,你应该找一个设计能力 阅读全文
posted @ 2016-11-29 20:34 ZhangCui 阅读(641) 评论(0) 推荐(0) 编辑
摘要:第八章 BOM 1、BOM的核心对象是window,他表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JS访问浏览器窗口的一个接口,又是ES规定的Global对象。 2、定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过delete操作符删除,而直 阅读全文
posted @ 2016-11-29 16:19 ZhangCui 阅读(1255) 评论(0) 推荐(0) 编辑
摘要:第七章 函数表达式 1、函数声明的一个重要特征就是函数声明提升,意思是在执行代码之前会先读取函数声明,因此可以把函数声明放在调用它的语句后面。 2、使用函数表达式创建的函数叫做匿名函数(拉姆达函数),因为function关键字后面没有标识符,匿名函数的name属性是空字符串。在调用前必须先赋值。 3 阅读全文
posted @ 2016-11-28 16:37 ZhangCui 阅读(299) 评论(0) 推荐(0) 编辑
摘要:刚接触轮播的时候,感觉这种东西好高端,后来学习了jquery后,发现原来挺简单的,而且实现轮播也有很多形式,我用jquery自制了一个轮播插件,其实我这个说是插件,好像其实就是一个高度抽象的函数而已。慢慢来!以后再整高端点的! 首先原理是有个outerbox的容器,就是轮播的整体框架了,大小最好与图 阅读全文
posted @ 2016-11-27 10:04 ZhangCui 阅读(412) 评论(0) 推荐(0) 编辑
摘要:让日期区间更友好! 把常见的日期格式如:YYYY-MM-DD 转换成一种更易读的格式。 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 1). 记住不要显示那些可以被推测出来的信息: 如果一个日期区间里结束日期与开始日期相差小于一年,则结束日期就不用写年份了。月份开始 阅读全文
posted @ 2016-11-25 18:16 ZhangCui 阅读(500) 评论(0) 推荐(0) 编辑
摘要:第六章 面向对象的程序设计 1、面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。如python。ES中没有类的概念。 2、ES的对象可以想象成散列表:无非就是一组名值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的。 3、ES对象中有 阅读全文
posted @ 2016-11-25 16:16 ZhangCui 阅读(261) 评论(0) 推荐(0) 编辑
摘要:第五章 引用类型 1、使用new操作符和Date构造函数创建日期对象。 2、创建特定日期有两个方法——Date.parse()和Date.UTC()。后者小时数为0时显示时间是8点,应该是因为本地是东八区。 3、使用Date.now()方法可以分析代码的运行时间。代码开头使用一次,结束使用一次,然后 阅读全文
posted @ 2016-11-24 18:52 ZhangCui 阅读(376) 评论(0) 推荐(0) 编辑