自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 node.js模块化

var server = require("./server");var route = require("./router");var requestHandlers = require("./requestHandlers");var handle = {};handle["/"] = requestHandlers.start;handle["/start"] = request

2015-09-25 13:55:54 553

转载 nodejs如何请求路由,http和url模块

如何来进行请求的“路由”我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码(这里“代码”对应整个应用的第三部分:一系列在接收到请求时真正工作的处理程序)。因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HT

2015-09-24 17:50:30 4074

转载 node.js之服务器如何处理请求

服务器是如何处理请求的当回调启动,我们的 onRequest() 函数被触发的时候,有两个参数被传入:request 和 response 。它们是对象,你可以使用它们的方法来处理HTTP请求的细节,并且响应请求(比如向发出请求的浏览器发回一些东西)。所以我们的代码就是:当收到请求时,使用 response.writeHead() 函数发送一个HTTP状态200和HTTP头

2015-09-24 17:37:08 1493

原创 node.js 基于事件驱动的回调

基于事件驱动的回调当我们使用 http.createServer 方法的时候,我们当然不只是想要一个侦听某个端口的服务器,我们还想要它在服务器收到一个HTTP请求的时候做点什么。问题是,这是异步的:请求任何时候都可能到达,但是我们的服务器却跑在一个单进程中。写PHP应用的时候,我们一点也不为此担心:任何时候当有请求进入的时候,网页服务器(通常是Apache)就为这一请求新建

2015-09-24 16:22:47 593

转载 javascript模拟getElementByClassName

在JavaScript 内建的核心中,document对象及element对象总共可以通过三个方式来获取其下的元素,分别是:getElementById(‘id’) 、getElementsByName(‘name’) 、getElementsByTagName(‘tag’)  。 function getElementsByClassName(tagName,className)

2015-09-23 19:39:49 588

转载 js onsubmit

网页表单的提交可以有多种方法实现。        可以用javascript写个提交的方法,在button的onclick中触发。也可以将input的type设置成submit,并对form进行action 和method设置,直接进行提交。        一般在提交表单之前都需要进行一些判断,如果使用第一种方法,那么这些判断就写到提交时触发的的Javasceipt的方法里就行。如果使用第

2015-09-23 19:36:31 1277

原创 按enter键提交表单

一般表单必须要按提交按钮才可以提交表单,但是有的用户会比较喜欢按enter键提交表单。首先,在body里加入: onkeydown="keyDown(event);">表示按下键事件。然后在js里: //执行键盘按键命令 function keyDown(e){ var keycode = 0; //IE浏览器 if(Check

2015-09-23 19:27:30 899

原创 php 截取字符串bug

php有很多截取字符串的函数,mb_substr就是其中一个,不仅适用于英文还适合中文截取。但是在截取字符串,我遇到了以下bug$result = mysql_query($sql); while($row = mysql_fetch_assoc($result)){ ?> "> <?php echo mb_subst

2015-09-23 10:35:46 436

转载 从远程库克隆

上次我们讲了先有本地库,后有远程库的时候,如何关联远程库。现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.

2015-09-22 22:42:30 633

转载 远程仓库github

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C "[email protected]"你需要把邮件地址换成你自

2015-09-22 22:37:46 375

转载 git暂存区和工作区详解

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫inde

2015-09-22 21:28:57 798

原创 git版本退回笔记

初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步:第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit,完成。第三部,使用git log 查看修改信息第四部,git status命令可以让我们时刻掌握仓库当前的状态git diff,能看看具体修改了什么内容(git st

2015-09-22 21:04:16 363

转载 集中式vs分布式

Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改

2015-09-22 20:10:04 425

转载 git将本地仓库上传到远程仓库

在已有的git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目首先,在本地新建文件夹abc,进入到abc里面,然后git init。这样就在本地初始化了一个git项目abc。然后,登录到远程的git服务器上,到gitrepo目录下面,mkdir abc.git。然后进入abc.git目录。git  --bare init。这样就在服务器端建立了一

2015-09-22 16:24:10 362

原创 git bash 操作 从github上pull代码再从客户端push上去

如何将github上的代码拖到本地:1.cd切换目录到对应的仓库2.git init来初始化这个仓库3.用ssh-keygen -t rsa -c "邮箱"来设置ssh,然后拷贝到对应的github上设置密钥4.ls 可以把目录下的文件列出来5.把对应github上的项目的地址拷贝下来,并下载到本地。6.拷贝到本地后,可以修改对应的目录并再次push到g

2015-09-22 14:53:30 3801

原创 javascript闭包

js闭包,用函数传参的方式,利用函数参数,保存现场,例子就是每隔一秒输出一个大小为4的数组中的内容,顺序。function greetingMaker (greeting){ function addName(name){ return greeting + ' ' + name; } return addName;}var dayTimeGreeting = greetin

2015-09-18 11:11:17 351

原创 错误

最近发现我有个错误,错误了好久,错误的好严重。。以前总觉得div好啊,什么就都用div,觉得用css控制又方便,有的时候用了h1啊什么标签还是要回头改样式,觉得没必要,于是整个文档都是div,span。看着是结构很清晰,分的也很清楚,但是实际上是帮页面增肥了,负担还加重了。应该是尽可能使用标签本身的语义,如果本来是个段落就用p,本来是标题,就用h开头,这样提高了页面的性能,也让页面看着简洁,苗

2015-09-14 18:59:46 325

原创 js使用Number和Math

javascript数字和数字操作用两个不同的js对象管理,Number和Math1.数字可以是一个直接量也可以是一个对象。var newNum = 20;var newNum = new Number(23);可以给一个变量赋一个直接量数字,但是当在这个变量上访问一个Number方法时,会创建一个Number对象来包含该直接量值,当方法执行完时,会丢弃改对象。NaN not

2015-09-14 15:20:23 857

原创 javascript正则表达式

RegExp可以是直接量也可以是对象创建一个直接量var re = /regular expression/;注意这个模式不是一个字符串var re = /Shellys+Powers/i;创建一个对象var re = new RegExp("Shellys+Powers","i");下面列出改对象的属性和方法:1.RegExp test;匹配返回tru

2015-09-14 12:14:25 425

原创 javascript字符串

javascript字符串需要注意的地方1.使用var city = new String ("this is a string object");使用new运算符来实例化一个string对象,可以使用String对象属性,如var lcity = city.toLowerCase();2.使用var city = String("this is not an object");

2015-09-13 16:37:59 417

原创 git

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上 改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。GitHub是提供在线git空间的平台,免费的账

2015-09-09 12:44:44 318

转载 异步编程的处理

感觉不很懂啊,还是先记下来吧! // 回调处理 $('button:first').click(function() { $("#block1").animate({ width: "50%" }, 2000, function() { // 嵌套回调 $("#block2").animate({

2015-09-06 10:17:50 456

原创 transition和animation的暂停

让坐标变化的两种方式:1.传统的top,left坐标修改2.CSS3中的transform属性通过CSS3的animation与transition的结合实现了人物的走路的效果。一般来说运动的状态都是需要可控的,这样才方便我们做进一步的操作。利用animation实现了人物动作的变化,即更换了精灵图的位置,而transition是实现了人物的left变化,即坐标向右移动,人物向前走,背

2015-09-05 21:46:52 7114

原创 css sprites

CSS Sprites在国内很多人叫CSS精灵,其实这个技术不新鲜,原理就是:靠不断的切换图片让人感觉视觉上不断在变化,例如gif动画之类的效果那么前端如何实现精灵效果?传统的就是靠定时器不断去改变一个元素的background-image属性了,简单的来说就是靠不断的替换图片,但是值得注意的问题就是图片如果很多,加载会比较慢,会占用大量网络资源大多数的做法就是把图片都合成一张大图

2015-09-05 19:33:16 1057

原创 代码封装

封装,即隐藏对象的属性和实现细节,仅对外公开接口。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。面向接口编程的写法,简单的说就是将行为封装分布在各个对象中,并让这些对象自己各自负责自己的行为,这也是面向对象设计的一个优点,就拿页面切换的效果来说,在某一时刻,元素A需要让页面进行切换,那么元素A不需要关心页面是怎

2015-09-05 17:56:28 8332 1

原创 页面之间的卷滚切换效果

一般来说要根据布局的结构来,大体有2种:1.移动父容器,改变父容器的坐标2.移动每一个子容器的坐标显而易见,移动父容器简单很多,只需要改变父容器X轴的坐标就可以了。如果父容器中子元素有很多的话,那么我们会考虑第二种算法,可以做成动态加载,但是这种处理是超级麻烦,这里不讨论改变坐标的处理可以分为2种:传统的top,left坐标修改CSS3中的transform属性

2015-09-05 17:15:13 596

原创 jquery设计理念

The Write Less,Do More(写更少,做更多)简洁的API、优雅的链式、强大的查询与便捷的操作1.简洁的api:$.on$.css$.ajax….2.优雅的链式var jqxhr = $.ajax( "example.php" ) .done(function() { alert("success"); }) .fail(f

2015-09-03 12:44:14 884

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除