美文网首页
小程序:作用域问题

小程序:作用域问题

作者: 天幕下悠悠 | 来源:发表于2019-01-15 19:07 被阅读0次

作用域
同浏览器中运行的脚本文件有所不同,小程序的脚本的作用域同 NodeJS 更为相似。

在文件中声明的变量和函数只在该文件中有效,不同的文件中可以声明相同名字的变量和函数,不会互相影响
当需要使用全局变量的时,通过使用全局函数 getApp() 获取全局的实例,并设置相关属性值,来达到设置全局变量的目的

在脚本 a.js 中设置全局变量

// a.js
// 获取全局变量
var global = getApp()
global.globalValue = 'globalValue'

在脚本 b.js 中访问 a.js 定义的全局变量

// b.js
// 访问全局变量
var global = getApp()
console.log(global.globalValue) // 输出 globalValue

需要注意的是,上述示例只有在 a.js 比 b.js 先执行才有效,当需要保证全局的数据可以在任何文件中安全的被使用到,那么可以在 App() 中进行设置

定义全局变量

// app.js
App({
  globalData: 1
})

获取以及修改 global 变量的方法

// a.js
// 局部变量
var localValue = 'a'

// 获取 global 变量
var app = getApp()

// 修改 global 变量
app.globalData++  // 执行后 globalData 数值为 2

获取 global 变量

// b.js
// 定义另外的局部变量,并不会影响 a.js 中文件变量
var localValue = 'b'

// 如果先执行了 a.js 这里的输出应该是 2
console.log(getApp().globalData)

相关文章

  • 小程序:作用域问题

    作用域同浏览器中运行的脚本文件有所不同,小程序的脚本的作用域同 NodeJS 更为相似。 在文件中声明的变量和函数...

  • javascript高级程序设计读书笔记(四)

    变量,作用域,和内存的问题 javascript高级程序设计读书笔记(四) 变量,作用域,和内存的问题 变量 不存...

  • 2017.9.13

    程序的结构: 1 作用域与可见性: 作用域:是标识符的有效范围 可见性:标识符是否可以引用的问题! 块作用域: 块...

  • js闭包及作用域/作用域链

    闭包的基础是作用域即作用域链 作用域 作用域是指程序源代码中定义这个变量的区域.全局变量拥有全局作用域,在程序中始...

  • 作用域与作用域链

    一、作用域 在 Javascript 中,作用域分为 全局作用域 和 函数作用域全局作用域:代码在程序的任何地方都...

  • JavaScript深入之词法作用域和动态作用域

    转自:JavaScript深入之词法作用域和动态作用域 作用域: 作用域是指程序源代码中定义变量的区域。 作用域规...

  • 5-3 变量作用域

    在Python中,作用域可以分为: 内置作用域:Python预先定义的 全局作用域:所编写的整个程序 局部作用域:...

  • 2019-05-11(作用域)

    作用域: 作用域描述的程序中可以访问标识符的区域,在C语言变量的作用域可以是块作用域,函数作用域,函数原型的作用域...

  • 作用域和闭包

    1.理解词法作用域和动态作用域 作用域 静态作用域 作用域是指程序源码中定义变量的区域作用于规定如何查找变量,也就...

  • 讲清楚之 javascript 作用域

    # 作用域 ## 什么是作用域(Scope)? 作用域产生于程序源代码中定义变量的区域,在程序编码阶段就确定了。j...

网友评论

      本文标题:小程序:作用域问题

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