首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文件之外访问此变量?

问如何在文件之外访问此变量?
EN

Stack Overflow用户
提问于 2017-08-27 15:55:22
回答 2查看 63关注 0票数 0

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

A.js

代码语言:javascript
复制
    function details(age,address,name){ 
      //some code 
      //some code

      getData(age);

      //some code
    }

function getData(ag){
      return ag;
}

B.js

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

EN

回答 2

Stack Overflow用户

发布于 2017-08-27 16:01:51

到目前为止,普通的JavaScript还没有为JS资源提供内置的名称空间管理。

最近,导入特征出现。

import语句用于导入在外部模块、脚本等中定义和导出的函数、对象或原语。

但要小心:

这个特性现在才刚刚开始在浏览器中实现。它是在许多转发器中实现的,例如transpilers、Babel、Rollup和Webpack。

在A.js中,您可以在客户需要时导出getData():

代码语言:javascript
复制
function details(age,address,name){ 
      //some code 
      //some code

      getData(age);

      //some code
    }

export function getData(ag){
      return ag;
}

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

代码语言:javascript
复制
import { getData} from '/modules/A.js';

getData(...);

如果您希望完全支持普通的JS,JS库的作者使用的一个经典解决方法是使用一个全局变量,该变量保存客户端所需的所有公共资源。

通过这种方式,可以减少与其他库或客户端资源发生冲突的风险。

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

代码语言:javascript
复制
var myNameSpace = {

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

      getData(age);

      //some code
    },

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

   ....

};

并以单个全局变量:myNameSpace作为前缀来访问该函数。

代码语言:javascript
复制
myNameSpace.getData(...);
票数 0
EN

Stack Overflow用户

发布于 2017-08-27 17:50:17

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

代码语言:javascript
复制
localStorage.setItem("key", "value");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45906774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档