随笔 - 95  文章 - 0 评论 - 84 trackbacks - 0

摘要: 一:javascript基础系列:Javascript基础系列之(一)JavaScript语法Javascript基础系列之(二)变量Javascript基础系列之(三)数据类型 (字符串 String)Javascript基础系列之(三)数据类型 (数值 Number)Javascript基础系列...阅读全文
posted @ 2015-01-21 21:49 村长很忙 阅读(3215) 评论(4) 编辑
摘要: 虽然javascript是一门面向对象的编程语言,但这门语言同时也同时拥有许多函数式语言的特性。 函数式语言的鼻祖是LISP,javascript设计之初参考了LISP两大方言之一的Schenme,引入了Lambda表达式,闭包,高阶函数等特性。使用这些特性,我们就可以灵活的编写javascript阅读全文
posted @ 2016-01-09 23:42 村长很忙 阅读(935) 评论(2) 编辑
摘要: 在javascript中,this关键字总让一些初学者迷惑,Function.prototype.call, Function.prototype.apply这两个方法广泛的运用。我们有必要理解这几个概念。一:this跟别的语言大相径庭的是,javascript的this总是指向一个对象,而具体指向...阅读全文
posted @ 2015-12-29 00:56 村长很忙 阅读(1740) 评论(2) 编辑
摘要: javascript是一门典型的动态类语言一:鸭式辨型(指导我们关注对象的行为,而不关注对象本身)。 var duck = { duckString: function(){ console.log("嘎嘎") } }; var c...阅读全文
posted @ 2015-12-23 22:47 村长很忙 阅读(410) 评论(5) 编辑
摘要: 字典是一种以键-值对应形式存储的数据结构,就像电话薄里的名字和电话号码一样。只要找一个电话,查找名字,名字找到后,电话号码也就找到了。这里的键值是你用来查找的东西,值就是要查的到的结果。javascript的Object类就是以这种字典的形式设计的。本章利用Object类本身的特性,实现一个Dict...阅读全文
posted @ 2015-10-26 00:26 村长很忙 阅读(3013) 评论(2) 编辑
摘要: 队列是一种列表,不同的是队列只能在末尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据。先进先出。这点和栈不一样,在栈中,最后入栈的元素反被优先处理。可以将队列想象成银行排队办理业务的人,排队在第一个的人先办理业务,其它人只能排着,直到轮到他们为止。队列是一种先进先出(FIFO)的数据结构。队...阅读全文
posted @ 2015-10-17 23:23 村长很忙 阅读(3210) 评论(0) 编辑
摘要: 列表是一种最自然的数据组织方式。上一章已经介绍如何使用List类将数据组织成一个列表。如果数据存储的顺序不重要。也不必对数据进行查找,那么列表就是一种再好不过的数据结构。对于其它的一些应用,列表就显得有些简陋了。我们需要某种和列表类似但更复杂的数据结构。栈就是和列表类似的一种数据结构,它可以用来解决...阅读全文
posted @ 2015-10-06 23:37 村长很忙 阅读(1045) 评论(0) 编辑
摘要: 在日常生活中,人们经常使用列表:待办事项列表,购物清单,十佳榜单,最后十名榜单等。计算机也在使用列表,尤其是列表中元素保存的是太多时。当不需要一个很长的序列中查找元素,或对其进行排序时,列表显得尤为有用。反之,如果数据结构非常复杂,列表的作用就没有那么大了。本章展示了如果创建一个简单的列表类,我们首...阅读全文
posted @ 2015-10-06 00:23 村长很忙 阅读(1600) 评论(0) 编辑
摘要: 数组是编程世界里最常见的数据结构。任何一种编程语言都包含数组,只是形式稍微有差异。数组是编程语言中的内建类型,通常效率都很高。可以满足不同需求的数据存储,本章将探索javascript中的数组工作原理,以及它们的使用场合。一:javascript中对数组的定义数组的标准定义是:一个存储元素的线性集合...阅读全文
posted @ 2015-10-04 21:42 村长很忙 阅读(1192) 评论(0) 编辑
摘要: 在前端工程师中,常常有一种声音,我们为什么要学数据结构与算法,没有数据结构与算法,我们一样很好的完成工作。实际上,算法是一个宽泛的概念,我们写的任何程序都可以称为算法,甚至往冰箱里放大象,也要通过开门,放入,关门这样的规划,我们也可以视作为一种算法。可以说:简单的算法是人类的本能。而算法的知识的学习...阅读全文
posted @ 2015-09-22 23:49 村长很忙 阅读(2389) 评论(3) 编辑
摘要: 动画是我们眼睛中的残影,叫视觉暂留现象。这里有两个关键字,差异与快速。在网页中,扩展样式的任务早已经交由css处理,让javascript第一次拥有视觉处理的api,setTimeout与setInterval早在css诞生前就已经出现。一:动画的原理在标准浏览器中,可计算的样式基本浏览器已经为你转...阅读全文
posted @ 2015-08-23 21:15 村长很忙 阅读(733) 评论(1) 编辑
摘要: 浏览器与后端的nodejs存在这各种消耗巨大或堵塞线程的行为。对于javascript这样单线程的东西唯一解耦的方法就是提供异步的api。异步的API是怎么的呢,简单来说,就是不会立即执行的方法。比方来说,一个长度为1000的数组,在for循环内,可能不到几毫秒就执行完毕,若在后端的其它语言,则耗时...阅读全文
posted @ 2015-08-22 22:44 村长很忙 阅读(733) 评论(2) 编辑
摘要: 事件系统是一个框架非常重要的部分,用于响应用户的各种行为。浏览器提供了3个层次的api,用于响应用户的各种行为。1.最原始的是写在元素标签内。2.再次是脚本内,以el.onXXX = function绑定的方式,统称为DOM0事件系统。3.最后是多投事件系统,一个元素的同一类型事件可以绑定多个回调,...阅读全文
posted @ 2015-08-03 00:41 村长很忙 阅读(1115) 评论(1) 编辑
摘要: 通常我们把对象的非函数成员叫属性。对于元素节点来说,其属性大体分为两类,固有属性与自定义属性(特性)。固有属性一般遵循驼峰命名风格,拥有默认值,并且无法删除。自定义属性是用户随意添加的属性值对,由于元素节点也是一个普通的javascript对象,没有什么严格的访问操作,因此命名风格林林总总,值的类型...阅读全文
posted @ 2015-07-25 09:22 村长很忙 阅读(208) 评论(0) 编辑
摘要: 样式模块分为两大块,精确获取样式值与设置样式,精确是用于修饰符获取的。由于样式分布为外部样式,内部样式与行内样式,再加个impotant对选择器的权重的干扰,我们实际很难看到元素是应用了那块的样式。因此,样式模块,80%的比重在于获取这一块,像offset,滚动条也纳入这一块。大体上,我们在标准浏览...阅读全文
posted @ 2015-07-16 23:46 村长很忙 阅读(498) 评论(0) 编辑
摘要: DOM节点操作占我们前端工作很大一部分,其节点的操作又占50%以上。由于选择器引擎的出现,让繁琐的元素选择简单化,并且一下子返回一大堆元素,这个情景时刻暗示着我们操作元素就像css为元素添加样式那样,一操作就操作一组元素。一些大胆的API设计被提出来。当然我们认为时髦新颖的设计其实都是很久以前被忽略...阅读全文
posted @ 2015-07-08 00:45 村长很忙 阅读(811) 评论(2) 编辑
摘要: jQuery凭借选择器风靡全球,各大框架类库都争先开发自己的选择,一时间内选择器变为框架的标配早期的JQuery选择器和我们现在看到的远不一样。最初它使用混杂的xpath语法的selector。第二代转换为纯css的自定义伪类,(比如从xpath借鉴过来的位置伪类)的sizzle,但sizzle也一...阅读全文
posted @ 2015-07-01 01:23 村长很忙 阅读(1050) 评论(0) 编辑
摘要: 类与继承在javascript的出现,说明javascript已经达到大规模开发的门槛了,在之前是ECMAScript4,就试图引入类,模块等东西,但由于过分引入太多的特性,搞得javascript乌烟瘴气,导致被否决。不过只是把类延时到ES6.到目前为止,javascript还没有正真意义上的类。...阅读全文
posted @ 2015-06-22 01:08 村长很忙 阅读(789) 评论(0) 编辑
摘要: 浏览器的嗅探现在已经不推荐了,但在某些场合还是需要的。比如一些统计脚本。在标准浏览器里,提供了document.implementation.hasfeature,可惜有bug,不准确,目前,w3c又推出了CSS.supports方法,显示出大家对这块的关注。1.判定浏览器。主流的浏览器有ie fi...阅读全文
posted @ 2015-06-19 02:00 村长很忙 阅读(785) 评论(1) 编辑
摘要: 1.字符串的扩展与修复语言脚本都对字符串特别关注,有关的方法特别多,这些方法有三大类:第一类:与标签无关的实现:charAt,charCodeAt,concat,lastIndexOf,localeCompare,match,replace,slice,split,substr,substring,...阅读全文
posted @ 2015-06-08 00:23 村长很忙 阅读(601) 评论(0) 编辑
摘要: 任何一门语言在大规模应用阶段,必然要经历拆分模块的过程。便于维护与团队协作,与java走的最近的dojo率先引入加载器,早期的加载器都是同步的,使用document.write与同步Ajax请求实现。后来dojo开始以JSONP的方法设计它的每个模块结构。以script节点为主体加载它的模块。这个就...阅读全文
posted @ 2015-05-31 06:08 村长很忙 阅读(2301) 评论(0) 编辑