如何在文件外访问此变量

时间:2017-08-27 15:55:22

标签: javascript variables global

基本上我有两个.js文件,让它是A.js和B.js,我有这样的代码

A.js

    function details(age,address,name){ 
      //some code 
      //some code

      getData(age);

      //some code
    }

function getData(ag){
      return ag;
}

B.js

这里如何访问getData(?)??? ,我不想使用全局变量,我只是想知道是否有可能以任何方式或选择全局变量是最后一个选项。

2 个答案:

答案 0 :(得分:0)

到目前为止,普通的JavaScript并没有为JS资源提供内置的命名空间管理 最近,import feature appeared

  

import语句用于导入函数,对象或   由外部模块定义和导出的基元,   脚本等。

但要注意:

  

此功能才刚刚开始在浏览器中实现   本地就在这个时候。它在许多转发器中实现,例如   Traceur编译器,Babel,Rollup和Webpack。

A.js中,您可以根据客户需要导出getData()

function details(age,address,name){ 
      //some code 
      //some code

      getData(age);

      //some code
    }

export function getData(ag){
      return ag;
}

并在客户端代码中可以导入它:

import { getData} from '/modules/A.js';

getData(...);

如果要完全支持普通JS,JS库作者使用的经典解决方法是使用单个全局变量来保存客户端所需的所有公共资源。 通过这种方式,您可以降低与其他库或客户端资源发生冲突的风险。

如果您可以更改这些文件的代码,则可以定义一个全局变量:

var myNameSpace = {

     details : function(age,address,name){ 
      //some code 
      //some code

      getData(age);

      //some code
    },

    getData : function getData(ag){
          return ag;
    }

   ....

};

通过使用单个全局变量前缀来访问该函数:myNameSpace

myNameSpace.getData(...);

答案 1 :(得分:0)

A.js文件中存储本地/会话存储中ag的返回数据。 您可以在B.js中访问此数据,该数据将位于本地/会话存储中。

localStorage.setItem("key", "value");