我有几个Js函数,比如fn1(),fn2()。
fn1()将在页面加载时自动调用

<script >

window.onload=fn1();

 function fn1()
 {
  var list_temp=new Array();
  list_temp.push("testing");
  //etc
 }

 function fn2()
 {
   // Do something after getting the data from fn1()
 }
 </script>`

现在我需要从fn2()访问fn1()中定义的列表。有什么可以做的吗?我记得在某个地方读到过,javascript中的函数在某种程度上等同于对象?

最佳答案

您可以在全局范围内定义一个变量,但也可以将两个函数包装在closure中,并使变量成为该闭包的私有(本地)变量:

(function() {
   var list_temp = [];
   window.onload = fn1;

   function fn1()
   {
       list_temp.push("testing");
       // etc...
   }

   function fn2()
   {
       console && console.log(list_temp);
       // Do something after getting the data from fn1()...
   }
})();

07-26 06:45