此贴为学习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中的一些语法和关键字不被兼容。所以经常会发现,在微信开发者工具里和手机真机上的代码表现不一致,也可以用微信开发者工具里的远程调试功能,在真机上进行调试。

学习微信小程序开发框架之了解JavaScript相关推荐

  1. 学习微信小程序开发框架之脚本语言WXS

    此贴为学习9 小时搞定微信小程序开发 的笔记. 文档:WXS · 小程序 WXS(WeiXin Script)是小程序的一套脚本语言.结合 WXML,可以构建出页面视图的结构和内容.一般使用WXS做过 ...

  2. 比较实用的微信小程序开发框架和工具

    [微信小程序开发框架] 1.官方框架MINA 小程序提供的开发框架为MINA框架,它类似于淘宝Weex.Vue框架.MINA框架通过封装微信客户端提供的文件系统.网络通信.任务管理.数据安全等基础功能 ...

  3. 微信小程序实现lot开发01 学习微信小程序 helloworld

    最近走进一个新项目的任务里,主要的任务是实现用微信小程序利用websocket使用mqtt协议走网络控制继电器(其实在生活中这个技术已经普及了,我们用的充电桩扫码充电,我们学校里的饮水机扫码接水以及我 ...

  4. 一个C#程序员学习微信小程序的笔记

    一个C#程序员学习微信小程序的笔记 客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在 ...

  5. 微信小程序最新开发资源汇总,对学习微信小程序的新手有一定帮助

    微信小程序最新开发资源汇总,希望给想学习或正在学习微信小程序开发的同学们带来一定帮助,汇总的小程序资源有点繁杂,各种类型的小程序demo都有,大家可以选择自己想要的demo进行下载学习.这些微信小程序 ...

  6. 前端学习——微信小程序

    今天是学习微信小程序的第三天. 1. 一定要给脚本文件定义出口.如以下代码 var local_database = [{date: "Nov 18 2017",title: &q ...

  7. 新手从零开始学习微信小程序开发01

    新手从零开始学习小程序开发01 文章目录 新手从零开始学习小程序开发01 前言 一.什么是微信小程序? 二.如何着手学习微信小程序 1.开发工具下载安装 2.注册账户 前言 本章主要介绍微信小程序开发 ...

  8. 云开发版高效学习微信小程序源码包含复习资料学习共享护眼精灵等功能

    ☑️ 编号:X0016 ☑️ 品牌:暂无 ☑️ 语言:微信小程序 ☑️ 数据库:无需数据库 ☑️ 类型:微信小程序 ☑️ 规格:小程序 ※ 欢迎关注私信(发消息不限制),领取福利 ※ ☑️ 源码介绍: ...

  9. 0基础学习微信小程序(转载)

    原文地址:https://blog.csdn.net/qq_41464123/article/details/105198163 前言 微信小程序作为近几年"微服务"的杰出代表,应 ...

  10. 钢琴学习微信小程序开发功能

    如今的家长都希望孩子在艺术方面能够有一技之长,这样才能在将来的生活交际中游刃有余.而钢琴作为艺术中不可缺少的一部分,自然受到了很多人的青睐,因为钢琴代表着高雅和高贵的象征.是提高个人修养的表现.对于钢 ...

最新文章

  1. 神经网络可解释性的另一种方法:积分梯度,解决梯度饱和缺陷
  2. 自然语言处理最新论文速递
  3. UML图入门学习笔记
  4. Linux shell编程学习笔记---第三章
  5. php 采集程序 宋正河
  6. 威胁情报基础:爬取、行走、分析
  7. 利用百度Echarts.js生成雷达图
  8. oracle bookauthor,Oracle 聚簇(征集)
  9. jQuery Event.delegateTarget 属性详解
  10. 6379端口恶意扫描_DNS重绑定的利用:端口扫描与绕过同源策略
  11. Linux DNS服务详解——DNS基础知识
  12. java zookeeper 使用_Zookeeper简介
  13. 生物流体力学及血流动力学建模仿真技术实战
  14. css 选父元素,CSS子元素选择父元素的实现
  15. 非常简单的四子棋【java编写】
  16. 我的世界paperclip_使用PaperClip在Rails中上传文件
  17. 路由器老掉线的原因之一
  18. OpenWrt开发必备软件模块——系统总线ubus
  19. 使用gdal的ogr创建shapefile文件(c++)
  20. 经常使用传感器协议1:CJ/T-188 水表协议解析1

热门文章

  1. 西南大学网络教育行政管理计算机答案,西南大学网络教育1056计算机基础春考试大作业答案.doc...
  2. 涉案资金超10亿,又一洗钱团伙被端,“二清”警钟不能忘
  3. 人民币对美元汇率中间价报6.7025元 上调318个基点
  4. access中本年度的四月一日_2014年3月计算机二级ACCESS上机试题及详解十二
  5. mysql 前几个月的时间_MYsql 查询 查询当前周、月份及前几个月的数据(时间 查询)...
  6. (读书笔记)蔡康永的说话之道
  7. 上古卷轴5:重制版AFT管理随从导致瑟拉娜Serana有关的MOD眼睛变金色的问题解决
  8. iOS_21团购_拼音搜索
  9. 北京54坐标与西安80坐标相互转换的两种方法
  10. android手表怎样刷机,智能手表是怎样一键刷机的