Function对象的引入,创建方法对象
/* function say(name,age) { alert("姓名:"+name+",年龄:"+age); } say("盖伦",24); */ //Function对象的引入,创建方法对象 var sayFunc=new Function("name","age","alert(\"姓名:\"+name+\",年龄:\"+age)"); sayFunc("盖伦",24);
Function对象属性
//Function对象属性 var sayFunc=new Function("name","age","alert(\"姓名:\"+name+\",年龄:\"+age)"); alert("sayFunc方法对象的方法的参数个数"+sayFunc.length);//输出参数2个
Function对象方法
//Function对象方法 var sayFunc=new Function("name","age","alert(\"姓名:\"+name+\",年龄:\"+age)"); alert(sayFunc.toString()); alert(sayFunc.valueOf());
JS变量的作用域
<script type="text/javascript"> var a="zibo"; function func() { alert(a); } func();//读取全局变量a /* function func2(){ var b="nihao"; } func2(); alert(b);//b读取不到,作用域出了 */ function func3(){ c="welcome"; } func3(); alert(c);//c可以读取 </script>
闭包
<script type="text/javascript"> function func2(){ var b="nihao"; //定义一个function,然后返回return,从而调用了私有变量 function func2(){//可以获取父方法的私有属性 alert(b); } return func2; } var result=func2(); result(); </script>
闭包的理解(访问私有变量d)
<script type="text/javascript"> function func4(){ var d="淄博";//相当于private属性 function func4(){//相当getter,setter return d; } return func4; } var result=func4(); alert(result()); </script>
闭包
闭包是能够读取其他函数内部变量的函数
本质上闭包是函数内部和函数外部连接起来的一座桥梁
闭包的用途
1、读取函数内部的变量
2、让这些变量始终保持在内存中
闭包使用的注意点:
1、函数的变量保存在内存中,内存开销很大,不能滥用闭包,否则会造成网页性能问题,在IE中可能导致内存泄漏,解决办法,退出函数前,将不使用的局部变量全部删除。
2、闭包会在父函数外部改变父函数内部变量的值,使用时不要随意改变。
原文:http://www.cnblogs.com/void-m/p/6339935.html