javascript编码点滴
1. 如果在用jQuery.Ajax()时,想屏蔽掉AjaxStart等事件,可以在参数中加global:false. 也可以用jQuery.unbind("AjaxStart.xxxx")来暂时disable掉,这里有一个概念就是事件命名空间。例如 $("button").bind("click.mybutton", function(){}) ; 会将函数挂在click事件处理链中,那么如果想将此事件处理函数从连中去掉,又不想将整个链删除,就可以用命名空间。$("button").unbind("click.mybutton")
2. 函数只认它们在定义时所处的环境而不是执行时,这点很重要. 这说明你可以用闭包把私有变量公开出去。因为闭包可以访问父内的变量,这是在定义时有效,在运行时,虽然外层不能直接访问私有变量,但可以透过闭包返回的方式访问。如:
function f(){
var b = "b";
return function(){ //没有名字的函数,所以是匿名函数
return b;
}
}
想获得f()中的b时,可以如下写法:
var n = f();
n();