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

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

作者: 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