2013年1月

一个闭包引发的血案

先声明一下,以下内容完全是个人经验的认识,并不保证正确,不要误导了还在茁壮成长的童鞋~   此事说来话长,话说从盘古开天辟的时候。。。(这你妹也太长了点儿吧。。。) =。=!  好吧好吧,其实就是昨天,办公室里的一个师哥在研究JS的闭包,然后就追溯到了JS变量的作用域链,并且最后弄出了这样一段代码: function makefunc(x) { return function() { return x; } } var a = [makefunc(0), makefunc(1), makefunc(2)]; alert(a[0]()); alert(a[1]()); alert(a[2]()); 结果就是分别弹出:0,1,2  这里就看出了,makefunc这个函数每次返回的函数都是相同的,但是,返回的函数的执行环境不同,也就是说这个函数所处的作用域链是不同的。。。 当每次执行makefunc这个函数时,返回的是一个相同的匿名函数和这个匿名函数执行所需要的环境的综合体,这也就是传说...

jquery选择器之选择兄弟元素

    还久没更新了,主要是对新的项目木有头绪,感觉手足无措呀。。。。    最近一直在纠结于jquery选择器的问题,昨天经小松哥点拨,写了个关于jquery选择兄弟元素的小demo,虽然还没有解决我现在的问题,但是还是放出来分享一下:    兄弟元素选择主要是用siblings()这个函数,使用方法如下:    $("#aa").siblings().click(.....)    就是说选择id为aa的元素的所有同级的兄弟元素添加click事件,但是只有同级的。    小demo如下:<!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js">&l...