本文实例讲述了JS块级作用域和私有变量。分享给大家供大家参考,具体如下:
(函数(){//这里是块级作用域 }) () >之前例如:
(函数(){ (var i=0; i<5,我+ +){ 警报(i);//0, 1, 2, 3, 4 } }) (); 警报(i);//错误 >之前上例中,定义了一个块级作用域,变量我在块级作用域中可见的,但是在块级作用域外部则无法访问。
这种技术经常在全局作用域中被用在函数外部,从而限制向全局作用域中添加过多的变量和函数。
任何在函数中定义的变量,都可以认为是私有变量。因为不能在函数的外部访问这些变量。私有变量包括函数的参数,局部变量和在函数内部定义的其他函数。
我们把有权访问私有变量和私有函数的公有方法称为特权方法:
函数MyObject () {//私有变量和私有函数 var privateVariable=10; 函数privateFunction () { 返回错误; }//特权方法,特权方法作为闭包有权访问在构造函数中定义的所有变量和函数 这一点。publicMethod=function () { privateVariable + +; 返回privateFunction (); }; } var obj=new MyObject (); obj.publicMethod ();//>之前原型模式定义共有方法:
(函数(){//私有变量和私有函数 var privateVariable=10; 函数privateFunction () { 返回错误; }//构造函数 MyObject=function () { };//公有/特权方法 MyObject.prototype。publicMethod=function () { privateVariable + +; 返回privateFunction (); }; }) (); >之前模块模式:
var单=function () {//私有变量和私有函数 var privateVariable=10; 函数privateFunction () { 返回错误; }//特/公权有方法和属性 返回{ publicProperty:没错, publicMethod:函数(){ privateVariable + +; 返回privateFunction (); } }; }(); >之前更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《JavaScript面向对象入门教程》、《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
JS块级作用域和私有变量实例分析