美文网首页微信小程序开发微信小程序开发
微信小程序之全局变量的使用和设置

微信小程序之全局变量的使用和设置

作者: Yinvoker | 来源:发表于2019-02-11 12:23 被阅读3次

    通常我们会在app.js里面设置一些全局变量或是方法,设置完毕后,可以在各个页面对其进行赋值或是调用。
    今天来看一下怎么去调用这些

    首先是初始化

    //app.js
    App({
    
      /**
       * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
       */
      onLaunch: function () {
      },
    
      /**
       * 当小程序启动,或从后台进入前台显示,会触发 onShow
       */
      onShow: function (options) {
        
      },
    
      /**
       * 当小程序从前台进入后台,会触发 onHide
       */
      onHide: function () {
        
      },
    
      /**
       * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
       */
      onError: function (msg) {
      },
    
      globalData: {
        a:  ,
        b:  
      },
    
      /**
       * 缓存
       */
      fun: function () {
        /*test fun*/
      },
    
    

    调用:
    首先在每个page.js中初始化一个app
    var app = getApp();
    然后后面可以直接这样使用

      console.log(app.globalData.a)
      app.onLaunch: function ()
    

    赋值:

      app.globalData.a = 3
    

    最后说明一下 var 和 let 的区别,两者都可以声明变量,但是区别在于,通过var定义的变量,作用域是整个封闭函数,是全域的 。通过let定义的变量,作用域是在块级或是子块中。

    变量提升现象:浏览器在运行代码之前会进行预解析,首先解析函数声明,定义变量,解析完之后再对函数、变量进行运行、赋值等。

    • 不论var声明的变量处于当前作用域的第几行,都会提升到作用域的头部。
    • var 声明的变量会被提升到作用域的顶部并初始化为undefined,而let声明的变量在作用域的顶部未被初始化

    相关文章

      网友评论

        本文标题:微信小程序之全局变量的使用和设置

        本文链接:https://www.haomeiwen.com/subject/kpqqeqtx.html