js把局部变量变为全局变量

烂漫一生 提交于 2020-01-15 08:26:12

前提:最近在和APP之间进行交互,其中就包括APP对H5变量和方法的调用功能。
作为没有接触过此功能的我,经过一番搜索之后,熟练应用,下面是我操作,本次开发使用VUE框架,所以都是在VUE中的使用方法,当然其他项目自己更改一下还是可以用的。

第一:全局变量声明

1、未设置全局变量:

<body>
    <button>全局变量声明</button>
    <script>
        function test(){
             var num=10;
             console.log(num)
        }
        test()
        console.log("num:"+num)
     </script>
</body>

输出结果:
在这里插入图片描述
2、设置为全局变量:

<body>
    <button>全局变量声明</button>
    <script>
        // function test(){
        //      var num=10;
        //      console.log(num)
        // }
        // test()
        // console.log("num:"+num)
        function test2(){
             var num2=10;
             console.log(num2)
             window.num2=num2
        }
        test2()
        console.log("num2:"+num2)
     </script>
</body>

输出结果:
在这里插入图片描述

2、设置全局方法:

其中submitReportStep是本地声明的一个方法:
 window.submitReportStep = this.submitReportStep; //注册为全局方法

下面是VUE中使用方法:

(1)utils.js文件写APP引入方法:
 submit(index, con) {
    // window.proType = proType;
    // window.proContent = proContent;
    window.submitTest(content);
  },
(2)APP.vue中添加
 window["submitStep"] = (index, con) => {
      utils.submit(index, con);
    };
(3)reportFun() {
      window.submitTest= this.submitTest; //注册为全局方法
    },
    submitTest(){
	//自己声明一下要实现的方法即可
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!