微信小程序开发:学习笔记[5]——JavaScript脚本

快速开始

介绍

  小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来完成业务需求

  在大部分开发者看来,ECMAScript和JavaScript表达的是同一种含义,但是严格的说,两者的意义是不同的。ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言, JavaScript 是 ECMAScript 的一种实现。理解 JavaScript 是 ECMAScript 一种实现后,可以帮助开发者理解小程序的中 JavaScript同浏览器中的 JavaScript 以及 NodeJS 中的 JavaScript 是不相同的

  

  小程序中的 JavaScript 是由ECMAScript 以及小程序框架和小程序 API 来实现的。同浏览器中的JavaScript 相比没有 BOM 以及 DOM 对象,所以类似 JQuery、Zepto这种浏览器类库是无法在小程序中运行起来的,同样的缺少 Native 模块和NPM包管理的机制,小程序中无法加载原生库,也无法直接使用大部分的 NPM 包

模块化

  浏览器中,所有 JavaScript 是在运行在同一个作用域下的,定义的参数或者方法可以被后续加载的脚本访问或者改写。同浏览器不同,小程序中可以将任何一个JavaScript 文件作为一个模块,通过module.exports 或者 exports 对外暴露接口。这句话的意思是说,我的理解是每一个JS文件对应一个模块,这样子的话,每个模块之间的参数或方法互相独立,但也支持特定方式的的调用

比如,我们现在要在index.js中访问nav_top.js中的文件!

  

但是现在我们还是无法直接访问nav_top中的方法,因为nav_top并没有对外暴露任何接口,所以我们还需要在nav_top中使用experts命令把我们想暴露的接口说明一下:

  

脚本的执行顺序

  小程序中的脚本执行顺序与HTML有所不同。小程序的执行的入口文件是 app.js 。并且会根据其中 require 的模块顺序决定文件的运行顺序,代码2-30是一个 app.js 示例。

  

  当 app.js 执行结束后,小程序会按照开发者在 app.json 中定义的 pages 的顺序,逐一执行。

全局变量

  我们说过,每个JS文件都是独立的模块,所以不可能直接在一个模块中调用另一个模块的变量,那么我们可以使用全局变量来达到这一点:

  

  为了保证全局的数据可以在任何文件中安全的被使用到,我们可以再App()中进行注册

  

转载于:https://www.cnblogs.com/MrSaver/p/9005641.html

微信小程序开发:学习笔记[5]——JavaScript脚本相关推荐

  1. 微信小程序开发学习笔记一

    微信小程序学习笔记(一) 环境使用及创建项目 文件目录设置 JS文件 环境使用及创建项目 环境使用:微信开发者工具 一个微信号只能开发一个微信小程序. 在微信小程序开发手册下载最新版本,学习不要bet ...

  2. 基于有Vue基础的微信小程序开发学习笔记

    微信小程序开发 文章目录 微信小程序开发 一.微信小程序介绍 二.小程序结构目录 1.小程序的文件结构 2.基本项目目录 三.配置文件详解 1.全局配置文件 2.页面配置文件 3.sitemap配置 ...

  3. 微信小程序开发学习笔记007--微信小程序项目01

    技术交流QQ群:170933152 今天做项目 小程序开发必备基础 如何独立开发一个项目 豆瓣电影 需要的基础: HTML+CSS JavaScript 网络 先理解需求-->了解项目流程,项目 ...

  4. 微信小程序开发学习笔记002--微信小程序框架解密

    1.今天内容比较多, 框架解密 • 目录结构 • 配置文件详解 • 逻辑层 • Api简介 ----------------------- 2.打开微信开发工具,   点击添加项目,选择无appid模 ...

  5. 微信小程序开发学习笔记004--微信小程序语法结构

    今天讲微信小程序的语法结构 技术交流QQ群:170933152 数据绑定:把数据声明后显示在页面上 渲染:条件渲染,循环渲染 模板:某个小需求,模块封装成模板 事件:点击一个按钮触发一个事件,发送一个 ...

  6. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序

    第一天,认识微信小程序,第一个微信小程序 1.什么是微信小程序? 是h5网页嘛?不是 微信张小龙说: 小程序是一种不需要下载安装即可使用的应用, 它实现了应用"触手可及"的梦想,用 ...

  7. 微信小程序开发学习笔记006--微信小程序组件详解02

    技术交流QQ群:170933152 案例7:开关选择器 案例8:各种图标 案例9:页面跳转 案例10:多媒体音视频 案例11:嵌入地图 案例12:画布:在上面可以画柱状图等等. 今天继续讲组件: 登录 ...

  8. 微信小程序开发学习笔记2——安心食疗

    一.数据绑定 1.1 渲染层和逻辑层 小程序宿主环境 我们称微信客户端给小程序所提供的环境为宿主环境.小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能. 小程序开发框架的目标是通过尽可 ...

  9. 微信小程序开发学习笔记(7.15)

    scroll-view滚动视图的使用 在微信开发者工具中封装好了这个功能. 首先要把几个view标签放入一个盒子,成为行元素.不压缩每一个view使得view溢出界面,这是可以滚动查看. 横向滚动视图 ...

  10. 微信小程序开发学习笔记005--微信小程序组件详解

    先来再看看事件冒泡: 看个例子,新建项目库credemo05 case1.wxml <view bindtap="fn1"> outer    <view bin ...

最新文章

  1. vue点击网页全屏_vue-cli点击实现全屏功能(两种方式)
  2. why my SAP UI5 filter by titleID does not work
  3. python pymysql用法_Python使用pymysql小技巧
  4. 使用 PDBDownloader 解决 IDA 加载 ntoskrnl.exe 时符号不完全问题
  5. Mybatis 系列使用记录
  6. AndroidManifest.xml详解(service)
  7. 绿联串口线linux驱动下载,绿联USB转DB9串口线驱动 V1.6.1 Mac版
  8. 物联网技术发展前景_3种推动物联网发展的技术
  9. TFN系列FB18电缆故障测试仪-电力电网系统首选产品
  10. 尤里复仇退出界面_win10运行红警2尤里复仇的解决方法
  11. linux中的nm命令简介【转】
  12. nltk中文分句_learn_nltk/2. NLTK笔记-分句与分词.md at master · ourren/learn_nltk · GitHub...
  13. PHP后端API接口解决Ajax跨域请求的方式
  14. HTTPS单向认证双向认证
  15. win10更新后office2016图标显示空白
  16. 深入理解 latch: cache buffers chains
  17. C#通过Windows API捕获窗,获取窗口文本(FindWindow、GetWindowText),附录:Windows窗口消息大全、Windows API大全
  18. 在线制作html邮件,HTML邮件设计注意点
  19. weex移动端的那些坑(更新中)
  20. c语言程序设计文章,C语言程序设计教案文章.doc

热门文章

  1. 别人问了个问题:有没有选择JAVA开发的设计文档
  2. mercurial/hg:大哥什么年代了连续传功能都没有?
  3. WINDOWS7都谢幕了,微软为何不出个补丁包?
  4. 不要张口别人有问题,先看自己是否做错
  5. matlab 蒙特卡洛工具箱_MATLAB多维T分布蒙特卡洛?
  6. C# List最大值最小值问题 List排序问题 List Max/Min
  7. C# string byte数组互转;string byte[]互转
  8. linux 环境变量的设置
  9. iis7 php 中文乱码,php输出文字乱码的解决方法
  10. php 类似百度分页,写了一个仿百度贴吧分页效果的分页类,有人要么?