学习微信小程序开发框架之了解JavaScript

此贴为学习9 小时搞定微信小程序开发 的笔记

推荐书籍:
《JavaScript高级程序设计》
这里写图片描述
《JavaScript权威指南》
这里写图片描述

JavaScript是一种轻量的、解释型的、面向对象的头等函数语言,是一种动态的基于原型和多范式的脚本语言,支持面向对象、命令式和函数式的编程风格。

轻量是在入门Javascript时觉得这门语言没有其他语言那么重;解释型是语言在运行时,机器会把它翻译成对应的机器语言,不同于C或C++在执行时会被翻译成二进制文件;Javascript的语法是比较接近Java的,都是面向对象编程,不过两个语言没有任何内在联系。

不同平台下的JavaScript

Node.js中的JavaScript

这里写图片描述
Native是原生模块,通过Node.js的Native模块可以使用一些本身JavaScript不具有的功能。
NPM是包管理系统,也是世界上目前最大的开源库生态系统,我们可以通过各种npm扩展包来快速实习一些功能。
Node.js是根据Google V8引擎实现的,使用了轻量级的事件驱动以及非阻塞的IO模型。通常会将Node.js作为一门后端语言来使用。

浏览器里的JavaScript

这里写图片描述

组成 用途
ECMAScript(核心) 描述了JS的语法和基本对象
文档对象模型 (DOM) 处理网页内容的方法和接口,是HTML和XML的应用程序接口,代表加载到浏览器的当前网页,可以通过JavaScript来读取当前网页的DOM对象
浏览器对象模型(BOM) 与浏览器交互的方法和接口,比如可以修改一个页面的URL,或者可以新打开一个浏览器窗口等

参考:Javascript之BOM与DOM讲解

小程序的JavaScript

这里写图片描述
和浏览器中的JavaScript相比,微信小程序的JavaScript是缺少BOM和DOM对象的,没有办法使用JQuery等浏览器类库;也缺少Node.js里的Native和npm模块,也没办法使用原生库和对npm包进行管理等。小程序的JavaScript是由ECMAScript、小程序框架和小程序API组成。
文档:API · 小程序框架 · 小程序

ECMAScript

组成部分:语法、类型、语句、关键字、操作符、对象
这里写图片描述
以上的Node.js、浏览器和小程序里的JavaScript都是基于ECMAScript的一种实现。这些语言的不同在于封装了自己的一些模块、特性。

JavaScript不同的脚本运行环境

这里写图片描述
在iOS上,小程序的JavaScript是运行在JavaScriptCore中,然后由WKWebView来渲染。
在安卓上,小程序的JavaScript是由X5 JS core来解析,由X5内核渲染。
在微信开发者工具(IDE)中,小程序的JavaScript代码是运行在nwjs中,由Chrome WebView来渲染。其中,nw.js是基于Chromium和Node.js运行的,是封装了Webkit内核和Node.js,提供了桌面应用的运行环境,让我们在浏览器运行的程序也可以在桌面端运行。
这三个运行环境使用的ECMA标准是不一样的,目前ECMAScript(简称ES)有八个版本,目前小程序使用的是 ES5和ES6标准。但目前为止,iOS8和9并没有完全兼容到ES6的标准,所以ES6中的一些语法和关键字不被兼容。所以经常会发现,在微信开发者工具里和手机真机上的代码表现不一致,也可以用微信开发者工具里的远程调试功能,在真机上进行调试。

猜你喜欢

转载自blog.csdn.net/sriting/article/details/80043894