Javascript 如何访问一个函数&x27;他满足于生活吗?

Javascript 如何访问一个函数&x27;他满足于生活吗?,javascript,Javascript,我已经使用IIFE编写了一些javascript代码,在这里我将变量x存储在IIFEhidden中的函数item1中。现在我想创建另一个函数,比如item2,我想在这个新函数中使用变量x。我该怎么做呢 var hidden=(函数(){ var item1=函数(){ x=5; } })(); x可以是您生活中的一个变量,因此当您只公开闭包item1和item2时,它就像一个私有变量 下面是一个简单的例子: var hidden = (function(){ var x;

我已经使用IIFE编写了一些javascript代码,在这里我将变量
x
存储在IIFE
hidden
中的函数
item1
中。现在我想创建另一个函数,比如
item2
,我想在这个新函数中使用变量
x
。我该怎么做呢

var hidden=(函数(){
var item1=函数(){
x=5;
}
})();

x
可以是您生活中的一个变量,因此当您只公开闭包
item1
item2
时,它就像一个私有变量

下面是一个简单的例子:

var hidden = (function(){
      var x;
      var item1 = function(){
              x=5;
       }
      var item2 = function(){
              return x;
       }

      return {
            item1: item1,
            item2: item2
      }
 })();
 hidden.item1()
 console.log("value of x", hidden.item2())
 

你不。。。。。。(可能是因为x是全球性的…)item1是如何调用的?您可以使用
显示模块模式
来公开变量
x
,这里有多个问题--
x
是全局的,因此它可以在任何地方访问,但由于
item1
从未在
隐藏的
内部调用,因此定义
x
的代码永远无法执行。因此,考虑到当前的代码,您所问的是不可能的。全局x似乎击败了使用IIFE的目的,没有返回,因此隐藏是未定义的。。。。生活的意义首先是什么?对于建设性的讨论来说,这个例子实在太琐碎了。你能解释一下吗?我的意思是,在item1函数中,5存储在x中,但在item2函数中不可能返回x,对吗?因为只有在函数中声明变量(
X
,在本例中)时,X=5才是item1函数的专用项,因此它可以在函数范围内的任何位置访问。由于
item1
item2
也在iife的范围内,因此他们可以访问
x
。如果
x
是在
item1
中声明的,那么
item2
就不可能访问它。