这提供了非常强大交互性和安全性机制。Javascript 的一个非常重要的部分是安全性,这也是为什么我们不能将所有的函数放在全局变量中,这样做易于被攻击。这里有个通过public和private返回Object对象的例子:
var Module = (function () { var myModule = {}; var privateMethod = function () {}; myModule.publicMethod = function () {}; myModule.anotherPublicMethod = function () {}; return myModule; // returns the Object with public methods})(); // usage Module.publicMethod();
通常私有方法的命名开头使用下划线,从视觉上将其与公有方法区别开。
var Module = (function () { var _privateMethod = function () {}; var publicMethod = function () {};})();
当返回匿名对象的时候,通过简单的函数引用赋值,Module可以按照对象的方式来用。
var Module = (function () {var _privateMethod = function () {}; var publicMethod = function () {}; return { publicMethod: publicMethod,anotherPublicMethod: anotherPublicMethod} })();
以上就是关于JavaScript作用域的全部内容,希望对大家的学习有所帮助。
您可能感兴趣的文章: