JS块级作用域和私有变量实例分析
本文实例讲述了JS块级作用域和私有变量。分享给大家供大家参考,具体如下:
块级作用域
(function(){ //这里是块级作用域 })()
例如:
(function(){ for(vari=0;i<5;i++){ alert(i);//0,1,2,3,4 } })(); alert(i);//error
上例中,定义了一个块级作用域,变量i在块级作用域中可见的,但是在块级作用域外部则无法访问。
这种技术经常在全局作用域中被用在函数外部,从而限制向全局作用域中添加过多的变量和函数。
私有变量
任何在函数中定义的变量,都可以认为是私有变量。因为不能在函数的外部访问这些变量。私有变量包括函数的参数、局部变量和在函数内部定义的其他函数。
我们把有权访问私有变量和私有函数的公有方法称为特权方法:
functionMyObject(){ //私有变量和私有函数 varprivateVariable=10; functionprivateFunction(){ returnfalse; } //特权方法,特权方法作为闭包有权访问在构造函数中定义的所有变量和函数 this.publicMethod=function(){ privateVariable++; returnprivateFunction(); }; } varobj=newMyObject(); obj.publicMethod();//
原型模式定义共有方法:
(function(){ //私有变量和私有函数 varprivateVariable=10; functionprivateFunction(){ returnfalse; } //构造函数 MyObject=function(){ }; //公有/特权方法 MyObject.prototype.publicMethod=function(){ privateVariable++; returnprivateFunction(); }; })();
模块模式:
varsingleton=function(){ //私有变量和私有函数 varprivateVariable=10; functionprivateFunction(){ returnfalse; } //特权/公有方法和属性 return{ publicProperty:true, publicMethod:function(){ privateVariable++; returnprivateFunction(); } }; }();
更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。