Fork me on GitHub
摘要: 前言 当我学到新技术(当然这个技术有的是别人实现过的,只是我不知道而已).心情烦恼的时候(笔试,面试跪了,失恋了等等),看了一部好的电影,发牢骚的时候.就来上面吐槽吧,写着写着就知道自己该奋斗了,为什么呢?突然发现,哎呀我擦,啥也不会呀...怎样开始 记得当时刚接触web开发,学长给我们的建议就是拥有自己的blog,有自己的代码管理仓库(github).当时对博客只是一个非常模糊的概念,跟evernote有何区别?师兄说可以往上面吐槽所有东西...刚开始写的东西都是生涩的,重要的是过程和自己坚持的时间."快乐"的过程 我没有单独搭建自己的博客,因为我不认为我能设计好并且维护 阅读全文
posted @ 2013-04-23 11:16 Poised_flw 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 原文在我的博客上:http://www.poised-flw.com/javascript/2013/05/10/avoid-null-comparisons/JS中的检测在Javascript中, 测试一个变量是否为null很普遍, 但是却有问题. 如:var Controller = { process: function(items) { if (items !== null) { // Bad items.sort(); items.forEach(function(item) { // do... 阅读全文
posted @ 2013-05-10 21:14 Poised_flw 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 前言在Web开发中,UI被定义为以下三个层的组合:HTML: 结构化需要显示的数据.CSS: 视觉上的渲染.JavaScript: 增强页面的交互性.通常的UI布局是这样的, HTML层作为基础, CSS, JavaScript层在他的上面: 事实是, 某些应用中Javascript并不依靠于css, 存在这样的应用: 只有JS和Html; 或者只有Html和Css. 这都是有可能的, 故Javascript和css的关系应该是平等的!例如: 尽管JavaScript和Css之间存在某些相互作用(如动态改变元素的className等.), JavaScript也能消除和CSS之间的依赖关系而. 阅读全文
posted @ 2013-05-05 22:11 Poised_flw 阅读(660) 评论(1) 推荐(0) 编辑
摘要: 1.直接插入排序(Straight Insertion Sort): 1 /* 2 * 插入排序 3 * O(n^2) 4 * */ 5 Array.prototype.insertSort = function () { 6 var i,j,temp; 7 for(i=2; i<this.length; i++){ 8 //先判断一下,不是递增序列则进行移动插入操作 9 if(this[i] < this[i-1]){10 //记录需要进行插入的元素,找到它应该插入的位置11 temp = ... 阅读全文
posted @ 2013-05-04 22:07 Poised_flw 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 像我这种第一们语言是C的程序猿,接触到JS的时候也秉承着C的风格;直到看了开源社区那些让人痴迷的代码风格以后,决定彻头彻尾的改变自己编写js代码的规范!本篇中主要的规范都来自于《Maintainable JavaScript》byNicholas C. Zakas. 介绍两个非常有用的工具:JSLint, JSHint.缩进问题推荐两种风格的缩进4个空格: 这种缩进的好处是在任何的编辑器下表现的方式是一致的!Tab缩进: 经常使用的缩进方式, 但是在有些编辑器中表现的形式并不一样, 一般是4个空格, 但有些编辑器会解释成8个空格等等...if ( contition ) { var... 阅读全文
posted @ 2013-05-01 19:55 Poised_flw 阅读(544) 评论(3) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2013-04-30 09:01 Poised_flw 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 做到这一步,我的这个jquery框架已经具备了基本的选择器功能(只能直接选择dom节点对象),还具备可扩展功能extend().封装js方法我们所知道的js能处理DOM元素的方法有:document.getElementsByTagName(); //获取html标签的dom元素集合document.getElementById(); //获取带ID的DOM元素//引用DOM节点childNodes;firstChild;lastChild;nextSibling;parentNode;previousSibling;接下来封装到我的插件中去./*more about ... 阅读全文
posted @ 2013-04-25 11:31 Poised_flw 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 本篇继续丰富我的jquery框架,利用extend来扩展!扩展的优点不必每次增加新的方法都直接往jQuery或者jQuery.fn追加.jQuery.fn.extend({ fun1: function() { console.log('this is an extend function'); }})通过这样的方法就能为jQuery扩展一个名叫fun1()的方法.然后能直接调用它$('div').fun1(); //this is an extend functionextend()方法的基本思想就是把指定对象的方法都复制给jQuery或者jQuery.pr. 阅读全文
posted @ 2013-04-24 17:23 Poised_flw 阅读(1248) 评论(2) 推荐(0) 编辑
摘要: 现在来实现jquery插件中经典的几个方法.对象的遍历经典的用法:$('div').each(function() { //do something});现在给我的jquery扩展一个each()方法:jQuery.each = function(object, callback, args) { for(var i in object) callback.call(object[i], args); return object;}两个地方:1.通过for循环遍历对象集合中的所有对象2.为每个对象绑定相同的回调函数callback(),有个问题.就是对于不变的回... 阅读全文
posted @ 2013-04-24 11:53 Poised_flw 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 通过前几篇的分析,大体的画出了jquery的框架,但是它确不具备现实中jquery插件的一切功能!现实中是怎样的?$('#id'); //我能选择一个id为id的dom元素$('.class'); //我也能选择一个class为class的dom元素$('div'); //我还能选择当前页面中的所有div接受参数首先给我的插件能传递一个参数,初步具备选择器的功能:/* selector: 选择器参数 context: 选择的范围 */var $ = jQuery = function(selector, context) { return new 阅读全文
posted @ 2013-04-24 09:38 Poised_flw 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 上篇已经介绍了由于this指向的一些困扰带来的问题.现在分析怎么实现init的this和原型对象中的this分开.实例化init如下的修改过程:var $ = jQuery = function() { return new jQuery.fn.init(); //实例化init,分割作用域}这里通过返回init的一个实例,想一下.如果现在调用init实例,this指向谁?jQuery.fn中的this又指向谁?就上面的两个问题,init中的this肯定是指向当前所构造的对象实例(this总是指向类的实例).通俗的讲this目前的"活动范围"就是init这一块!通过下面的测 阅读全文
posted @ 2013-04-23 20:05 Poised_flw 阅读(337) 评论(2) 推荐(0) 编辑