一、开发语言
-
小程序 逻辑层 运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了 jQuery、 Zepto 等库,在小程序中是无法运行的。
-
JSCore 的环境同 NodeJS 环境也是不尽相同
- 在小程序中使用npm包前,需先 构建 npm
二、 渲染层 与 逻辑层
-
小程序 渲染层 和 逻辑层 是运行在不同的线程中,渲染层 与 逻辑层 不直接进行交互,通过Native进行交互。
-
网页运行是单线程。
所以:
-
网页渲染可能存在的问题: 某个js文件,运行很长时间,导致页面失去响应。
-
不要频繁setData !
- 若数据不需要展示在页面上,则不要定义在data里。
-
如果小程序涉及第三方服务器,通过Native(微信客户端)与第三方服务器进行交互。
提升数据更新性能方式的代码示例
onShow: function() {
this.setData({
myData: {
m: '这个字符串在WXML中用到了',
n: '这个字符串未在WXML中未用到'
}
})
// 可以优化为
this.setData({
'myData.m': '这个字符串在WXML中用到了'
})
this._myData = {
n: '这个字符串未在WXML中未用到'
}
}
})
其他
-
Javascript 由三部分构成,ECMAScript,DOM和BOM
-
DOM(document object model):文档对象模型,提供操作页面元素的方法和属性
-
BOM(browser object model);浏览器对象模型,提供一些属性和方法可以操作浏览器
-
JSCore: JavaScriptCore ,通常会被叫做虚拟机,负责解释和执行 JavaScript 代码,是WebKit默认内嵌的JavaScript引擎。