js闭包

alert(dataObj.root.length);//输出root的子对象数量
$.each(dataObj.root,fucntion(idx,item){
if(idx==0){
return true;
}
//输出每个root子对象的名称和值
alert("name:"+item.name+",value:"+item.value);
})
注:对于一般的js生成json对象,只需要将$.each()方法替换为for语句即可,其他不变。
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

对于这种写法,在JS中,可以到处看到。

如: (function()) {}(); 做闭包操作时等。

var a = 1; 							// 声明并初始化全局变量
(function f(){
    alert(a); 						// 返回undefined
    var a = 2; 						// 声明并初始化局部变量
    alert(a); 						// 返回2
})()

js执行过程

先预编译:仅对函数名、函数内各种标识符建立索引
执行期:才按顺序为变量进行赋值,并初始化,如果函数未被调用,则函数内部代码不被解析

上一篇:使用js比较时间


下一篇:JSP中的变量