微信小程序的作用域和模塊化: 微信小程序教程系列08

文件作用域
在 JavaScript 文件中聲明的變量和函數只在該文件中有效;不同的文件中可以聲明相同名字的變量和函數,不會互相影響。

示例:
通過全局函數 getApp() 可以獲取全局的應用實例,如果需要全局的數據可以在 App() 中設置,如:

/* app.js */
App({
  globalData: 1
})
/* a.js */
// 這是局部變量localValue
var localValue = 'a'
// 獲取app.js的實例
var app = getApp()
// 通過app的示例來操作全局的變量
app.globalData++
/* b.js */
// 在不同的文件中可以重複定義localValue這個變量
var localValue = 'b'
// 如果a.js文件先執行,那麼b.js獲取到的就是a.js執行過的變量數值
console.log(getApp().globalData)

模塊化
我們可以將一些公共的代碼抽離成爲一個單獨的 js 文件,作爲一個模塊。模塊只有通過 module.exports 或者 exports 才能對外暴露接口。

 

示例:

/* common.js */
function sayHello(name) {
  console.log(`Hello ${name} !`)
}
 
module.exports = { sayHello : sayHello}

在需要使用這些模塊的文件中,使用 require(path) 將公共代碼引入

/* a.js */
var common = require('common.js')
Page({
  helloMINA: function() {
    common.sayHello('MINA')
  }
})

注意:require()中傳入的是一個js文件的相對路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章