I am houbiao beta 0.1

javascript学习笔记之匿名函数的写法、传参和递归

分类:Self

非原创,网上看到的,觉得很靠谱很通俗易懂,复习加备忘,转过来了。原址在结尾处。

顾名思义,就是没有名字的函数。匿名函数通常用于javascript作用域的控制,可以有效的避免对全局变量的污染。常见的匿名函数有下面四种写法,欢迎补充:...

read all...

3707 reads 1 comments

javascript学习笔记之静心温习一下JS优化

分类:Self

很久没码字儿,状态低迷,借此温习一下根基,拿出以前的优化规则温习一下,也再一次鞭策自己,写代码要以效率为首要准则。以下的几点规则是Yahoo早先总结的,我只是拿来借花献佛罢了,现在开始。

HTML5时代用户对于网站的交互更加依赖也更加挑剔,交互就离不开DOM的操作。操作DOM当然就更离不开我们的神器!Javascript!Javascript固然伟大绚烂,但是由之带来的性能问题更是层出不穷,我们应该最大限度的优化(其实应该叫完善)Javascript。Yahoo提出,不论什么脚本,任何时间,任何浏览器上,执行时间都不应该超过100毫秒,但是如果实际执行的时间长于这个底限,我们就该考虑是否应该将进程分解成若干个更小的代码执行段。脚本失控基本上有以下4个方面的原因:...

read all...

3329 reads 0 comment

javascript学习笔记之js-trigger-Creating and triggering events

分类:Self

本节说的是js的trigger非jQuery的trigger(),但是之前咱们有必要再从新复习一下。

用过jQuery的人都知道jQuery有个trigger()事件,可以模拟出用户定义好的事件,比如说这样:$("#ele").bind("click",function(){ alert(1); })即给ID为ele的元素绑定了一个点击事件,当用户点击到他的时候会弹出提示框。但有些时候我们既需要触发他的点击但是又不能够点击到他,这就需要用到trigger()的模拟事件了。如下:$("#ele_2").bind("click",function(){ alert(2); $("#ele").trigger("click"); })这样的话在用户点击ID为ele_2的元素的时候就会触发2个动作,一个是自身的alert(2),另一个就是模拟了ID为ele的元素的点击事件,即alert(1)。...

read all...

3828 reads 0 comment

javascript学习笔记之Ajax的POST与GET

分类:Self

Ajax,从最基本的层面来说,是一种与服务器通信而无需重载页面的方法;数据可以从服务器获取或发送给服务器。有多种不同的方法建立这种通信通道,每种方法都有各自的优点和限制。这里就简单的狭义的说一下XMLHttpRequest。

XMLHttpRequest(简称XHR)是目前最常用的技术,它允许异步发送和接收数据。所有的主流浏览器对它都提供了完善的支持,而且它还能精确地控制发送请求和数据接收。你可以在请求中添加任何头信息和参数(包括GET与POST),并读取服务器返回的所有头信息,以及响应文本。...

read all...

4105 reads 2 comments

javascript学习笔记之数组去重

分类:Self

很常用的功能,也是面试里出现比较多的问题。再从新拿出来看看,顺便看一下效率问题。

方法有很多,大致归为两类吧,一类是利用对象的权举属性,一类是利用数组的排序,个人比较倾向于数组,对象嘛,太过强大了,有点浪费的意思,对象和数组比起来很显然了,数组一定是简单于对象的,在这种场合里咱们用数组就足矣,当然对象也是很不错的方法,咱们下边就来一一展示,看个人爱好及你真正应用的地方来决定哪种方法吧。...

read all...

3969 reads 7 comments

javascript学习笔记之生命周期

分类:Self

我们通常定义的客户端生命周期起始于浏览器开始装载某个请求的特定数据,结束于浏览器发起一个新的请求(通常意味着页面的跳转或刷新)。客户端的javascript则作用于这个完整的生命周期过程中。

如果进一步细分,我们可以将客户端生命周期划分为从页面数据被装载页面数据装载完毕初始化阶段以及页面数据装载完毕一直到新的请求被发起之前的运行阶段。在前一个阶段里,javascript代码被浏览器解析,运行环境被初始化,函数和闭包被建立,而那些可以被立即执行的指令被执行并实时地得到结果。在后一阶段里,完成初始化的程序环境进入一个缺省的等待消息的循环,捕获用户操作引发的事件并作出正确响应,这种模式同经典的事件驱动模型非常接近。在这一阶段里,javascrip代码真正扮演一个界面交互行为处理者的角色。...

read all...

3448 reads 0 comment

javascript学习笔记之javascript伪协议

分类:Self

javascript伪协议:不是所有的浏览器都支持javascript伪协议,你可以在浏览器的地址栏里通过“javascript:”的形式来执行javascript代码。这其实也算是给早期的测试工作带来了一个便利,就是可以以命令行的形式来简易的测试自己的javascript代码,而不用单独的再写一个HTML文档。如下代码javascript:document.body.style.backgroundColor="#ff0";void(0);随便打开一个网页,将代码复制到浏览器的地址栏(复制到地址栏的时候请确认前边带有javascript:,个别浏览器会自动忽略掉冒号前的内容),回车,你会发现网页的背景色变成黄色的了,这便是javascript伪协议。

接上顺便说一句void(0);,这个小东西很关键,你可以试试以上代码如果去掉最后的void(0);会产生怎样的结果,没错,不但没执行还将你带到了一个新的窗口,这是因为javascript伪协议默认是将页面带到一个新的document中并显示程序返回结果,所以正常情况下运算的结果会在一个空文档对象内显示,而void(0);则可以阻止这个跳转,就好比我们给A标签添加的return false;一样。...

read all...

3420 reads 0 comment