摘要:
一:冒泡排序1. 原理a. 从头开始比较相邻的两个待排序元素,如果前面元素大于后面元素,就将二个元素位置互换b. 这样对序列的第0个元素到n-1个元素进行一次遍历后,最大的一个元素就“沉”到序列的最后位置(第n-1个位置,n为待排序元素个数)c.排除此次排序最后面的那个元素(n=n-1),继续对剩余... 阅读全文
摘要:
由于最近辞职在家,自己的时间相对多一点。所以就根据prototytpeJS的API,结合自己正在看的司徒大神的《javascript框架设计》,整理了下Js中常用一些字符串,数组,函数扩展,一来可以练练手,二来也锻炼下自己的代码能力。由于代码里面的注释自认为已经非常详细,所以就直接贴代码了。1. 字... 阅读全文
摘要:
今天在浏览JavaScript事件时,复习了下Dean Edward大神的addEvent。突然觉得可以基于他的思路实现一个结构更好的PubSub。 思路也很简单,就是要维护一个类似如下的一个仓库结构: /*{ 'sayHello': { 0: fn0, 1: fn1, //... }, 'sayGoodBye': { ... 阅读全文
摘要:
关于JS中OOP的具体实现,许多大神级的JS专家都给出了自己的方案。 一:Douglas Crockford 1.1 Douglas Crockford实现的类继承 /** * 原文地址:http://javascript.crockford.com/inheritance.html */Function.prototype.method = function (name, func) { ... 阅读全文
摘要:
自己大概在一年前开始使用LESS编写样式,现在感觉不用LESS都不会写样式了。现在写静态页面完全离不开LESS与Zen Coding,我可以不用什么IDE,但这两个工具却必须要,当然也强烈推荐看到这篇文章的朋友去试试LESS与Zen Coding(Zen Coding现在改名叫Emmet)。 在使用LESS的过程中,自己慢慢积累了一些常用的LESS函数,经过自己的实践,感觉还是很不错,会让你少写很... 阅读全文
摘要:
此篇文章主要是提炼《JavaScript高级程序设计》中第六章的一些内容。 一:JS中OOP相关的概念 开始之前先总结JS中OOP相关的一些概念: 构造函数:JS中的构造函数就是普通的函数,当JS中的函数使用new调用时,这个函数就是构造函数。构造函数调用与普通函数调用相比会有以下两点不同: ① 在进入构造函数时,会先创建一个对象,并将构造函数的作用域赋值给这个对象(this指向这个对象) ② 在... 阅读全文
摘要:
前言:大家都知道,OOP有三大特性:封装,继承,多态。下面是自己对这三个特性的理解: 封装:把属性与方法整合到某种数据类型中。目的是让类的使用者按类的编写者的意愿去使用类。在封装过程中会一般会做两件事: ① 隐藏内部实现 ② 对外提供接口(访问权限控制)。 继承:共享父类的属性与方法 多态:不同对象执行相同的操作,可以产生不同的结果。关于多态要注意两点: ① 在子类以父类的形式存在时,不能使用子类... 阅读全文
摘要:
知识点: 表单是前后端数据交互的一种重要方式,使用js操作表单也是十分常见的。不过好像每次到表单操作我都要去查API,所以本次想对表单的常用操作做个小结,以备后面随时查看。 首先,我们要知道如下的一些知识: 1. 表单字段在向后台提交数据时,使用的是表单控件的name属性的value,与id无关。(大家可以在百度搜细说表单找到Fish Li大神的这篇文章看看) 2. 表单向服务端传数据时会经过编... 阅读全文
摘要:
前言:最近想练习一下JS的API,经过再三思考,自认为用原生JS写UI组件是一个好方法,理由有: a. 熟悉大量原生API,像什么字符串,数组,DOM操作是肯定跑不了的 b. 可以锻炼逻辑思维能力。插件的需要基本一样,要实现什么功能不用自己太多考虑可以把主要精力放在功能实现上面,即代码层面的分析和解决问题能力 c. 可以加强自己的信心。写组件就是对自己前端能力的综合锻炼,涉及的知识面会很广。 昨... 阅读全文
摘要:
1. 关于数组排序 排序一直是程序设计中的热门话题。在js中,数组有个sort()方法。在不传参数默认情况下,数组的sort()方法原理是:对数每项调用toString()方法,比较字符串按升序排序数组。看下面的例子。 var arrA = [null, undefined, 3, 2, 5, 21, {toString:function() { return 1;}, p:'hello'... 阅读全文