摘要: 在总结浮动与定位之前,先引入一个概念,就是HTML中文档流,文档流简单的理解就是HTML中的元素按照代码的先后顺序以从左到右,从上到下的顺序排列,一个接一个的排列,也就成为了一个流stream,每个元素都在文档流中都占据一定的大小、空间,改变一个元素的布局会直接影响其他元素的布局。 而浮动与定位中的绝对定位都会使元素脱离文档流,什么意思呢?就是说如果一个元素被设置了浮动或绝对定位属性,那么这个元素好像脱离HTML文档一样,而其余的元素重新按照正常的文档流排列。浮动:浮动会使元素脱离正常的文档流,浮动的块状元素元素是以浮动元素所在行为基准,并且按照不合并margin的方式来进行浮动的。浮动... 阅读全文
posted @ 2013-04-14 17:22 FingerDancing 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 从开始接触HTML+CSS布局开始,也有将近半年时间了,除去中间打酱油的三四个月,自己也大概在上面花了一个月的功夫,时间不长,暂且把学过的东西总结一下。 首先谈谈HTML的元素,主要分三类,块状元素、内联元素和内联块状元素。块状元素display:block的特性是水平拉伸,垂直包裹,可以设置宽度和高度。对于拉伸我是这样理解的,比如先定义了页面的body,一般情况下body的宽度差不多等于页面的宽度(有8px的margin),这时如果你定义了一个p元素的话,如果未设置p元素的宽度,那么p元素会自动拉伸至body的宽度。包裹的意思就是p的垂直高度恰好能包住其中的文本内容,你写了几行文字就是... 阅读全文
posted @ 2013-04-14 17:18 FingerDancing 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 首先,我们看下面两段程序:(1).1 int[] a = {1, 2, 3, 4};2 int[] b = new int[4];3 b = a;(2).1 int[] a = {1, 2, 3, 4};2 int[] b = new int[4];3 int i = 0;4 for(int num:a){5 b[i++] = num;6 } 赋值之后,数组b的值都是{1, 2, 3, 4},但是这两种方法是有实质区别的。 首先,数组的初始化过程是这样的:对于int[] a;首先定义一个数组名a,然后将a这个变量进栈,当然这里没有对a进行初始化,所以a是一个空引用。对于int[... 阅读全文
posted @ 2013-04-14 17:04 FingerDancing 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 为了更好的理解本文,请预先学习原型、原型链的基础知识。 那么先看看下面几道坑爹的判断题吧1 Object.__proto__ == Object.prototype2 Function.__proto__ == Function.prototype3 Object instanceof Function4 Function instanceof Object 可能很多人第一眼就懵了(包括笔者),感觉有点像应试教育的判断题,别着急,慢慢来,首先让我们看看一句再普通不过的代码,var a = new A();用脚趾都知道是在内存中创建了A的一个实例a,那么在创建这个实例的过程中new关键字... 阅读全文
posted @ 2013-04-14 16:56 FingerDancing 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 首先,看下面这段代码: 1 var name = "The Window"; 2 var object = { 3 name : "My Object"; 4 getNameFunc : function(){ 5 return function(){ 6 return this.name; 7 }; 8 } 9 };10 alert(object.getNameFunc()());最后的结果是"The Window"而不是"The Object",为何呢?在分析这段代码前,首先简单说一下闭包:当内部函数在... 阅读全文
posted @ 2013-04-14 14:58 FingerDancing 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 原新浪博客链接:http://blog.sina.com.cn/nifengfeixing2009 所有博客均博主原创,欢迎留言回复讨论 另附上github:https://github.com/icefox0801/ 您的关注是博主成长的最大动力,谢谢! 阅读全文
posted @ 2013-04-14 14:05 FingerDancing 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 在写这篇文章之前,首先说点题外话,其实自己本来不想学这么多编程语言的,原本想把精通一门作为目标,但是由于工作的原因,现在又不得不接触了java Spring MVC框架,开始学Spring的时候,对依赖注入与控制反转产生了一些疑惑,通过了查阅资料和编程实践,将自己的一些学习心得总结如下: 在面向对象编程的时候,我们有时候会碰到这样的问题,高层模块的程序实现调用底层模块,当底层模块的对象类型改变时我们不得不改变高层模块的程序源代码,例如:1 public class WhereToGo{2 private Male MrKing = new Male();3 public ... 阅读全文
posted @ 2013-04-14 13:59 FingerDancing 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 今天在编写双链表代码时遇到了这样的困惑:函数参数传递时形参声明为1 strunct queue *&Q;想了半天*&Q的含义,百思不得其解,于是查阅了很多关于指针和引用的资料,总算解决了困惑。首先,简单回顾一下指针和引用这两种运算。1 int val;2 int *pv = &val; //指针声明3 int &rv = val; //引用声明当对引用类型初始化时,表示rv与val相关联,也可以理解为rv是val的别名,rv和val共用一块内存,地址相同,值相同。而&val中&出现在赋值号右边后成为了右值表达式,是一个常量,表示val的地址,这样 阅读全文
posted @ 2013-04-14 13:46 FingerDancing 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 这段时间学习了算法导论中前八章的几种排序方法,有插入排序、合并排序、堆排序、快速排序、计数排序、基数排序和桶排序,其中插入排序、合并排序、堆排序和快速排序都属于比较排序,即算法的核心是比较数组的两个元素的大小来确定先后关系,基数排序、计数排序和桶排序属于线性时间排序,即时间呈输入规模的线性增长。是否为比较排序关系到排序方法的时间复杂度。以下只是学习过程中的一些总结,如有错误,欢迎釜正~~原地排序:原地排序是通过不申请额外的内存空间来进行排序,每次排序都没有或者有常数(1)个的元素存储在数组之外。1.插入排序,在排序的过程中用一个额外的变量key(也可以不申请)来保存当前需要比较大小的元素,然后 阅读全文
posted @ 2013-04-14 13:39 FingerDancing 阅读(264) 评论(0) 推荐(0) 编辑