Javascript 匿名立即函数的私有成员存储在哪里?

Javascript 匿名立即函数的私有成员存储在哪里?,javascript,console,console.log,private-methods,Javascript,Console,Console.log,Private Methods,例如: var myobj; // this will be the object (function () { // private members var name = "my, oh my"; // implement the public part // note -- no `var` myobj = { // privileged method getName: function () {

例如:

var myobj; // this will be the object


(function () {
    // private members
    var name = "my, oh my";


    // implement the public part
    // note -- no `var`
    myobj = {
        // privileged method
        getName: function () {
            return name;
        }
    };
}());


myobj.getName(); // "my, oh my”
来自Stefanov的JavaScript模式书

如果使用Chrome控制台,如果没有特权方法,如何定位变量名

以该代码为例:

var a_1 = function(){console.log(this)}

a_1();
它记录的窗口对象,您可以浏览到a_1-查看附加的图像(下面的链接)

我们可以对匿名立即数函数中的name变量执行同样的操作吗


让我知道我是否已经清楚地构建了我的问题。

您似乎在问是否可以在Chrome的控制台中读取变量

答案是肯定的。在控制台中键入
window.myobj
并展开如下所示的对象,您将在
name
下看到
“我的,我的”

window.myobj->getName->->->Closure->name;

如果这不仅仅是一种好奇,而且您希望通过闭包变量实现安全性,那么您就不会得到它。JavaScript中没有安全性。

是的!这就是我要找的。问题基于好奇心/学习兴趣。谢谢@cookie! window.myobj -> getName -> <function scope> -> Closure -> name;