如何访问作为命名空间的函数内部变量(译)
原文标题:《Functions as Namespaces, and How to Peek Inside》
原文地址:http://www.davidflanagan.com/2009/11/functions-as-na.html
把函数做为命名空间已经是当今javascript编程里非常普遍的了。如果你把你的代码包含在一个函数里,那么你的代码里包含的变量和函数对于包含函数是本地的,或者说是局部的,这样则不会扰乱全局作用域。
var value = (function() { // Wrapper function creates a local scope or namespace // your code goes here return value; // Export a value from the namespace })()); // Invoke the wrapper function to run your code
例如,现在假设你刚刚用XMLHttpRequest获得了一段字符串形式的javascript代码。你打算去执行这下代码,你可能会想要在一个命名空间里去执行这段代码,这样执行代码的过程中就不会产生全局的变量或是函数。
这很简单,只要在执行前把这段代码包含进一个函数里。在这个情况下,构造函数Function() 比起eval() 更加得心应手。 Read More…
Posted in javascript at 一月 26th, 2010. 2 Comments.