您好,登錄后才能下訂單哦!
這篇文章主要介紹“C++程序員眼中的app.js是怎樣的”,在日常操作中,相信很多人在C++程序員眼中的app.js是怎樣的問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++程序員眼中的app.js是怎樣的”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
對象字面量表示法
這部分的說明直接引用自【JavaScript高級程序設計,第五章】。
在Javascript中創建Object實例的方式有兩種。第一種是使用new操作符后跟Object構造函數,如下所示:
var person = new Object();
persion.name = "Nicholas";
persion.age = 29;
另一種方法是使用對象字面量表示法,對象字面量是對象定義的一種簡寫形式,目的在于簡化創建包含大量屬性的對象的過程。下面這個例子就使用了對象字面量語法定義了與前面那個例子中相同的person對象。
var person = {
name : "Nicholas",
age : 29
};
第一種C/C++程序員熟悉的方式,而對象字面量表示法就比較陌生了。當然這只是形式上的不同,內容是一樣的。稍加適應即可。
代碼
//app.js
App({
onLaunch: function() {
//調用API從本地緩存中獲取數據
var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
},
getUserInfo: function(cb) {
var that = this
if (this.globalData.userInfo) {
typeof cb == "function" && cb(this.globalData.userInfo)
} else {
//調用登錄接口
wx.getUserInfo({
withCredentials: false,
success: function(res) {
that.globalData.userInfo = res.userInfo
typeof cb == "function" && cb(that.globalData.userInfo)
}
})
}
},
globalData: {
userInfo: null
}
})
參數對象
這段代碼的最外層是App()函數,它用來注冊小程序。這個函數接受一個 object對象參數,它指定的是小程序的生命周期函數等。這個對象的邊界就是App第一個“(”后面的“{”到最后一個小括號前面的“}”。它的內部又包含了onLaunch函數對象,getUserInfo函數對象和globalData數據對象。
需要注意的是,函數對象也好,數據對象也好,都只是被注冊到架構中,至于調用/使用的時機,相信另有安排。
onLauch函數對象
當小程序初始化完成時,會觸發 onLaunch(全局只觸發一次),在本例中,onLaunch首先從數據緩存中取得logs數組,如果取得失敗則通過“|| [ ]“”創建新數組。在數組中增加當前日期(和時間)之后,將數組重新保存在數據緩存中。
程序員不要自己調用這個函數。
getInfo函數對象
如果是第一次調用這個函數則首先調用登錄接口取得用戶信息,如果不是第一次調用,則直接返回已經取得的用戶信息。
取得用戶信息的wx.getUserInfo函數也要稍微說明一下:它是由小程序架構提供的API,仍然是一個對象。這個參數對象又包含了withCredentials屬性和另外的success函數對象。其中success函數會在getUserInfo成功時被調用以接收用戶信息。
用C語言的觀點來講,這就是一個回調函數。
globalData數據對象
簡單的定義了userinfo數據對象。
到此,關于“C++程序員眼中的app.js是怎樣的”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。