精华内容
下载资源
问答
  • 同学们大家好,我是小伊同学,前面我们学习了小程序中Js基本知识,在这些基础上Js中还有很重要一部分内容就是小程序API,本节我们就首先来学习一下API的类型语法结构。 首先,我们先来介绍一下,...

    同学们大家好,我是小伊同学,前面我们学习了小程序中Js的基本知识,在这些基础上Js中还有很重要的一部分内容就是小程序的API,本节我们就首先来学习一下API的类型和语法结构。

     

     

      首先,我们先来介绍一下,什么是API。API的英文全称是ApplicationProgramming Interface,翻译成中文叫做应用程序编程接口。

     

     

      API实际上是一些预先定义的函数,即一些特定的功能模块。这些模块能够使得开发人员直接使用,从而获取这一功能。开发人员不需要指导这个功能具体是如何实现的,更不需要看到代码,只要在需要的地方直接使用即可。这种方式极大地降低了开发难度和工作量,但相应也牺牲了一部分灵活性。但对于其带来的好处来说,这一部分缺点几乎可以被忽略。

     

     

      小程序开发框架提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等,详细介绍同学们可以参考API文档。

      通常,在小程序API有以下几种类型:

    • 事件监听API  在微信小程序中规定以 on 开头的 API 用来监听某个事件是否触发,如:wx.onCompassChange等。这类API接收一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。

       

       

    • 同步API  微信规定,以 Sync 结尾的 API 都是同步API,比如在处理存储方面的api,但是并不绝对,此外还有一些api也是同步的,详情参见API文档中的说明。同步API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。

       

       

    • 异步API  我们常用的大多数 API 都是异步 API。这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定一些字段来接收接口调用结果。

     

      需要说明的是,同步API和异步API是相互对立的两种类型,而事件监听API是独立于两者的一种定义方式,其与后两者并不是并列无交集的。

     

      对于同步API,是说在执行到这个api的地方后,系统主线暂停,等待执行完api后再继续向下运行。而异步api则是当执行到api后,系统代码并不停止运行,而是继续向下,对于api的部分,系统会相当于启动一个分支进行执行,这个分支和原本的主线是分离的,对于分支的运行结果,主线是并不知道的,也无法获知其在什么时候能够运行完毕的。因此,我们在使用的时候,要尽量避免因为异步api带来的代码错误或数据延迟。

     

     

      那么我们应该如何避免呢?下面我们就来介绍一下异步api的基本结构,因为在本项目中,我们使用到的全部都是异步api,因此,另外两种的细节我们不做过多介绍了,想学习的同学可以通过微信开发者文档进行学习。如右图所示,就是刚才我们讲的异步api执行过程。

     

      对于异步api,不同的api的内容不同,但主要语法格式如下所示。在api的内容部分,可以有三部分代码,分别是success部分、fail部分和complete部分。这三部分我们称之为api的回调函数,即在api执行到相应节点时会返回到这里执行这些函数。其中,success为接口调用成功的回调函数,fail为接口调用失败的回调函数,complete为接口调用结束的回调函数,它不管调用成功还是失败都会执行。

     

      同学们请看中间的示例,这是一个微信登录的api,其功能是使小程序获得用户的部分与身份有关的信息。当登录成功时,执行success部分代码。当登陆失败后,执行fail部分的代码。当api调用完成后,无论成功还是失败,都会执行complete部分的代码。

     

      这三部分的执行顺序为:success和fail部分二选一执行,根据api的调用结果由系统自动进行判断。执行其中一部分代码后再执行complete部分代码,每段代码内部均为顺序执行,除非再次调用异步api又会产生分支。

     

      因此,回到之前那个问题,如何避免因为api异步带来的代码错误或数据延迟。那么我们的思路就是将主线任务转移到支线上,使主线任务到api调用就结束了,而支线任务中,通过将代码写在上面这三部分,从而使得代码顺序执行,无论是这三部分的哪一部分,在开始执行之前,能够确保已经知道api的调用结果了。当然,这三部分都不是必须的,不写也可以,根据功能需求填写使用。

     

     

      对于上述三个回调函数:success,fail和complete函数,调用时可以传入一个Object类型参数,这个Object类型中有什么内容,我们又为什么需要这样一个参数呢?

     

      我们已经知道这三部分分别在api调用成功、失败和完成时执行,但是我们是不是还应该知道一些具体信息呢?比如调用失败,如果可以知道失败原因,是不是就可以继续编写代码解决这个问题呢,比如重试一次。这就是我们使用这个参数的意义。通常这个参数中会包含两部分,一个是错误信息,其属性为errmsg,类型为string,另一个是errcode,类型为number,代表错误码。如果成功,那么这两部分则分别为ok和0。此外,这个参数中还可能包含一些其他信息,比如网络请求的api,获取用户身份信息的api,在成功时要能够看到请求到的数据,那么也会通过这个参数来传递。

     

      一般,我们将这个参数写作res,是response的缩写,我们在每一部分中使用res加点加属性名称就能够访问,例如这里在执行失败的时候,我在调试窗口打印输出了一些错误信息。console.log为打印函数,将打印括号中变量的值,括号中我使用res加点加属性名访问了错误信息。

     

      对于不同的api,参数中的信息也各不相同,大家在使用时可以通过微信开发者文档去查询一下。另外,这些参数也不是一直不变的,微信团队也会对其进行修改增删,因此,为了保证我们在编写代码的时候不出问题,建议大家使用前先查阅该api的使用说明。

     

      日拱一卒,功不唐捐。涓流所积,终成沧海。

     

    想看视频版?

    关注公号“微程序学堂”,我们的视频教程即将上线

     

    如果你自己写了好文章想投稿

    请联系我们

     

    展开全文
  • Python是一种静态强类型解释型高级语言。...Python目前是第三代,与第二代相比,最大的区别是支持utf-8编码,对中文的支持性更好。计算机最早的编码规则是ASCII码,刚开始只支持英文。后来在此基础上,拓展了GBE23...

    Python是一种静态强类型解释型高级语言。静态强类型类型是指数据类型指定后不能随意改动,但可以指定改动;解释型与编译型相对应,后者先将整段断码编译成机器码再执行,前者是边编译边执行,后者速度比前者快几百倍,但移植性不好。

    Python目前是第三代,与第二代相比,最大的区别是支持utf-8编码,对中文的支持性更好。计算机最早的编码规则是ASCII码,刚开始只支持英文。后来在此基础上,拓展了GBE2313编码表,支持7000多字符,后来又于1995年拓展成GBK1.0、2000年拓展成GB18030。为了统一编码规则,后来规定了Unicode码,又称统一码或万国码。unicode占2个字节,对于英文有些浪费,故又改进成utf-8,英文1个字节,中文网3个字节。

    Python3默认支持utf-8,Python2需要声明:#- * - coding:utf-8 -*-

    Python通过变量存储和引用数据。变量的命名规则与其他预言相同,只能是字母、数字和下划线,不能有其他特殊字符,不能由数字开始,不能与内置关键字相同。官方推荐用下划线的方法定义复杂变量名。

    Day1接触的数据类型为int和str,float也有所接触。

    Python通过缩进区分结构。

    若要对语句选择性执行,需要if判断结构,关键字为"if...elif..else"。if语句可与循环语句同用。循环分为while循环和for循环。循环语句有时会用到两个关键词,break和continue。前者跳出当前循环,后者跳出当前此次循环。注意,是当前循环。有时会遇到循环嵌套,跳出的只是内部的循环,对外部循环没有影响。

    展开全文
  • Python 基本语法,文件读写,数据结构类型1.基本语法解释型(无需编译)、交互式、面向对象、跨平台、简单好用中文编码:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html变量名:可以包括英文、数字以及...

    Python 基本语法,文件读写,数据结构和类型

    1.基本语法

    解释型(无需编译)、交互式、面向对象、跨平台、简单好用

    中文编码:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html

    变量名:可以包括英文、数字以及下划线,但不能以数字开头,区分大小写

    变量类型:弱类型语言、无需声明

    数字Number:整型和浮点型

    字符串String:字符串拼接、长度、切片

    列表List:添加元素、求长、切片、删除

    元组Tuple:readonly

    字典Dictionary:赋值、判断是否存在某个key

    注释:#,三引号

    保留字符:and,not,class,def,等等等等

    行和缩进

    运算符:

    算术运算符:+,-,* ,/,%

    比较运算符:==,!=,>,=,<=

    赋值运算符:=,+=,-=,*=,/=,%=

    逻辑运算符:and,or,not

    条件:

    if...

    if…else...

    if…elif…else

    循环:

    while

    for,for遍历list和dict

    循环控制:

    break

    continue

    pass

    时间:time.time()

    文件:读写文件

    异常

    函数:def

    读文件;open()/write()/readlines()

    字典的使用;

    字典的排序;

    写文件

    2.解读数据结构和类型

    数据结构

    行:记录、观测

    列:字段、属性

    二维数组、表

    数据的类型

    TXT:纯文本

    CSV:逗号分隔值

    JSON:键值对

    SQL:数据库文件(后续教程再详细介绍)

    展开全文
  • 同学们大家好,我是小伊同学,前面我们学习了小程序中Js基本知识,在这些基础上Js中还有很重要一部分内容就是小程序API,本节我们就首先来学习一下API的类型语法结构。 首先,我们先来介绍一下,什么是API。...

      同学们大家好,我是小伊同学,前面我们学习了小程序中Js的基本知识,在这些基础上Js中还有很重要的一部分内容就是小程序的API,本节我们就首先来学习一下API的类型和语法结构。

    c47906bba0adb64489b8799ff1e9322c.png

      首先,我们先来介绍一下,什么是API。API的英文全称是ApplicationProgramming Interface,翻译成中文叫做应用程序编程接口。

    6e74f12066d757910470eaac971ec7d0.png

      API实际上是一些预先定义的函数,即一些特定的功能模块。这些模块能够使得开发人员直接使用,从而获取这一功能。开发人员不需要指导这个功能具体是如何实现的,更不需要看到代码,只要在需要的地方直接使用即可。这种方式极大地降低了开发难度和工作量,但相应也牺牲了一部分灵活性。但对于其带来的好处来说,这一部分缺点几乎可以被忽略。

    512bd9a0b28c300abbc46f08e3ab1e7b.png

      小程序开发框架提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等,详细介绍同学们可以参考API文档。

      通常,在小程序API有以下几种类型:

    • 事件监听API  在微信小程序中规定以 on 开头的 API 用来监听某个事件是否触发,如:wx.onCompassChange等。这类API接收一个回调函数作为参数,当事件触发时调用这个回调函数,并将相关数据以参数形式传入。

    • 同步API  微信规定,以 Sync 结尾的 API 都是同步API,比如在处理存储方面的api,但是并不绝对,此外还有一些api也是同步的,详情参见API文档中的说明。同步API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常

    • 异步API  我们常用的大多数 API 都是异步 API。这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定一些字段来接收接口调用结果。

      需要说明的是,同步API和异步API是相互对立的两种类型,而事件监听API是独立于两者的一种定义方式,与后两者并不是并列无交集的。

      对于同步API,是说在执行到这个api的地方后,系统主线暂停,等待执行完api后再继续向下运行。而异步api则是当执行到api后,系统代码并不停止运行,而是继续向下,对于api的部分,系统会相当于启动一个分支进行执行,这个分支和原本的主线是分离的,对于分支的运行结果,主线是并不知道的,也无法获知其在什么时候能够运行完毕的。因此,我们在使用的时候,要尽量避免因为异步api带来的代码错误或数据延迟。

    71b6b057bc1bbec68515b7a46e165dd3.png

      那么我们应该如何避免呢?下面我们就来介绍一下异步api的基本结构,因为在本项目中,我们使用到的全部都是异步api,因此,另外两种的细节我们不做过多介绍了,想学习的同学可以通过微信开发者文档进行学习。如右图所示,就是刚才我们讲的异步api执行过程。

      对于异步api,不同的api的内容不同,但主要语法格式如下所示。在api的内容部分,可以有三部分代码,分别是success部分fail部分complete部分。这三部分我们称之为api的回调函数,即在api执行到相应节点时会返回到这里执行这些函数。其中,success为接口调用成功的回调函数,fail为接口调用失败的回调函数,complete为接口调用结束的回调函数,它不管调用成功还是失败都会执行。

      同学们请看中间的示例,这是一个微信登录的api,其功能是使小程序获得用户的部分与身份有关的信息。当登录成功时,执行success部分代码。当登陆失败后,执行fail部分的代码。当api调用完成后,无论成功还是失败,都会执行complete部分的代码。

      这三部分的执行顺序为:success和fail部分二选一执行,根据api的调用结果由系统自动进行判断。执行其中一部分代码后再执行complete部分代码,每段代码内部均为顺序执行,除非再次调用异步api又会产生分支。

      因此,回到之前那个问题,如何避免因为api异步带来的代码错误或数据延迟。那么我们的思路就是将主线任务转移到支线上,使主线任务到api调用就结束了,而支线任务中,通过将代码写在上面这三部分,从而使得代码顺序执行,无论是这三部分的哪一部分,在开始执行之前,能够确保已经知道api的调用结果了。当然,这三部分都不是必须的,不写也可以,根据功能需求填写使用。

    5c2f85c68ff6121c60a02642e6f4c781.png

      对于上述三个回调函数:success,fail和complete函数,调用时可以传入一个Object类型参数,这个Object类型中有什么内容,我们又为什么需要这样一个参数呢?

      我们已经知道这三部分分别在api调用成功、失败和完成时执行,但是我们是不是还应该知道一些具体信息呢?比如调用失败,如果可以知道失败原因,是不是就可以继续编写代码解决这个问题呢,比如重试一次。这就是我们使用这个参数的意义。通常这个参数中会包含两部分,一个是错误信息,其属性为errmsg,类型为string,另一个errcode,类型为number,代表错误码。如果成功,那么这两部分则分别为ok和0。此外,这个参数中还可能包含一些其他信息,比如网络请求的api,获取用户身份信息的api,在成功时要能够看到请求到的数据,那么也会通过这个参数来传递。

      一般,我们将这个参数写作res,是response的缩写,我们在每一部分中使用res加点加属性名称就能够访问,例如这里在执行失败的时候,我在调试窗口打印输出了一些错误信息。console.log为打印函数,将打印括号中变量的值,括号中我使用res加点加属性名访问了错误信息。

      对于不同的api,参数中的信息也各不相同,大家在使用时可以通过微信开发者文档去查询一下。另外,这些参数也不是一直不变的,微信团队也会对其进行修改增删,因此,为了保证我们在编写代码的时候不出问题,建议大家使用前先查阅该api的使用说明。

      日拱一卒,功不唐捐。涓流所积,终成沧海。

    想看视频版?

    关注公号“微程序学堂”,我们的视频教程即将上线

    如果你自己写了好文章想投稿

    请联系我们

    展开全文
  • 定义属性的语法结构 语法 ATTLIST>元素名称 属性名称 属性类型 属性特点 ......> 属性类型-CDATA 表示属性值可以是任何字符(包括数字和中文) 示例 #REQUIRED> //元素名称 属性名称 属性类型 属性特点 ...
  • Python是一种静态强类型解释型高级语言。...Python目前是第三代,与第二代相比,最大的区别是支持utf-8编码,对中文的支持性更好。计算机最早的编码规则是ASCII码,刚开始只支持英文。后来在此基础上,拓展了GBE...
  • 《java核心技术》、《java编程思想》、《effective java 中文版》、《深入java 虚拟机》、《 数据结构与算法分析》 《java语言描述》、《java与模式》 2.垃圾回收器【Java基础部分只是提及一下】 java7提供G1...
  • 的语法与jQuery几乎完全相同,对于使用过jQuery的人来说很熟悉,也很好上手。 官方文档是英文的,但也比较容易阅读和理解。有一个中文的教程网站,这里也提供出来。 官方文档:...
  • MySQL修改表的语法=========================增加列[add 列名]=========================①alter table 表名 add 列名 列类型 列首页 → 数据库技术背景:阅读新闻MySQL表结构修改详解[日期:2014-11-21]来源:Linux...
  • 5.3.2 switch语句switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。switch语句的语法格式为:switch(表达式){case 值1:功能代码1;...
  • Python语法

    2020-03-17 20:46:54
    目录Python中文文档1条绝对规范--缩进2个顶级定义--函数(def)和类(class)3种语句结构--顺序、分支、循环4种数据类型--整型、浮点型、布尔型、字符串5大内置类--列表、字典、元祖、集合、字符串字典内置函数&...
  • switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。switch语句的语法格式为:switch(表达式){case 值1:功能代码1;[break; ]case 值2:...
  •  本书是数据结构和算法分析经典教材,书中使用主流程序设计语言C++作为具体实现语言。书内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找...
  • JAVA基础语法

    2018-02-06 14:23:41
    五变量的类型 六变量强制类型转换 七简单运算符 八与运算 或运算 九语句结构 十快捷键 十一 思维导图软件 一、 jre,jdk安装要求: 1 安装路劲中不能有空格 2 路劲不能出现中文 3 不要安装在C盘 二、...
  • java中switch结构

    2015-05-17 12:18:00
    switchkeyword的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的推断,在结构上比if语句要清晰非常多。switch语句的语法格式为:switch(表达式){case 值1:功能代码1;[break; ]case 值2...
  • MySQL语法格式——DML

    2020-12-03 20:34:40
    这是为了记录MySQL语法格式所创建「系列文」,只有简单实践,没有解读。 DML英文全称是Data Manipulation Language,即数据操作语言,它是用于对数据库中表记录进行更新操作语句。 以三国人物信息表...
  • XML(Extensible Markup Language),中文为可扩展标记语言,标准通用标记语言子集,是一种用于标记电子文件使其具有结构标记语言。 XML可以用来标记数据、定义数据类型,可以允许用户对自己标记语言进行定义...
  • 中文版翻译Just so so. ...它很多语法来自 C,Java 和 Perl,并具有几个 PHP 独有特点。该语言主要目标是让 Web 开发人员快速地书写动态生成网页。 PHP/FI 2.0 是最早 PHP 版本,已经不再支持。PHP ...
  • 5.3.2 switch语句switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。switch语句的语法格式为:switch(表达式){case 值1:功能代码1; ...
  • 3.实例:爬取起点中文全部作品信息 1.认识HTML结构 html标签组成是html文档最基本元素,一般是成对出现,由开始标签和与其对应结束标签构成. 如,,,,等,不加斜杠表示标签开始,加斜杠表明结束。它们中间...
  • JSON是JavaScript Object Notation缩写,是一种轻量级数据交换格式。 JSON是独立于任何语言文本格式。易于被计算机解析和生成 ...​ JSON格式的类型:字符串、数值、true、false、null、对象、数
  • Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领域成为编写脚本或开发应用程序的理想语言。你可以自由地从 Python 官方点: http://www.python.org,以源代码或二进...
  • python中文版官网面向对象编程,拥有高效的高级数据结构和简单而有效的方法,其优雅的语法、动态类型、以及天然的解释能力,让它成为理想的语言。软件功能强大,简单易学,可以帮助用户快速编写代码,而且代码运行...
  • python中文版官网面向对象编程,拥有高效的高级数据结构和简单而有效的方法,其优雅的语法、动态类型、以及天然的解释能力,让它成为理想的语言。软件功能强大,简单易学,可以帮助用户快速编写代码,而且代码运行...
  • 本节包含有关 Windows Touch 笔势的结构。本节中指定了以下结构结构说明GESTURECONFIG用于设置启用或禁用哪些笔势消息...GESTURECONFIG 结构获取和设置用于启用笔势消息配置以及此配置的类型语法typedef struct

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 285
精华内容 114
关键字:

中文的语法结构类型