微信小程序判断字符串怎么弄,最全小程序开发相关信息
微信小程序商店里面介绍了很多关于小程序字符串的资料,今天小编还要为大家补充一下微信小程序判断字符串怎么弄,以及关于小程序的一些其他资料。
我们提供了一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用小程序体验。
微信小程序是什么
首先微信小程序这五个字中最重要的有两个词, 一个是小, 一个是程序, 我们分别来看这两个词所表达的意思。
程序
首先是程序一词, 微信小程序所提供的体验是原生的, 而不是H5, 理论上微信小程序提供的是完全原生的体验。
那微信是如何实现的呢? 总体上微信借助了React Native的四项, 那React Native在下面我会简称为RN, 关于RN具体的介绍请参照React Native 中文网, 而微信小程序基本上就是基于RN的框架设计原理自己鼓捣了一个轮子, 为什么我这么说,请参照微信小程序框架原理。
也就是说, 微信是一个云操作系统, 你可以开发程序, 运行在微信中, 你的这个程序是完全类似于原生的体验, 就像你使用Android的SDK开发一个程序, 运行在Android手机中一样, 而你为微信开发一个程序, 可以运行在Android上、 iOS上, 所有有微信的地方, 你的程序都可以运行。
小
虽然微信小程序能够提供近似原生的体验, 但是大家不用慌张, 微信小程序还远不可能代替原生应用, 有如下两个原因:
首先, 微信再大再完整, 也只是一个程序, 在微信里面玩<炉石传说>这种大型游戏, 想想就觉得难受。
其次, 微信运行在iOS和Android中, 本身微信就是受限的, 苹果也不可能让微信把自己的命给革了, 所以微信小程序本身也会受到很多限制。
但是客户端开发者还是有必要了解一些微信小程序的开发, 这样也能做到知己知彼。
技术栈
这个章节简单地介绍一下微信小程序所使用到的一些知识, 并且对这些知识进行一些简单的了解, 大概有如下的几个方面:
HTML
CSS
JS
HTML
HTML类似于我们经常用到的 layout, 是一种类似于XML的文档语言, 使用标签来描述一个页面的结构。来看一个简单的HTML例子:
上述例子中的一些概念
lhtml, head, body叫做标签, 标签有标签的名称。
limg是一个图片标签, 通过img的属*src可以设置图片的路径, 通过路径找到图片。
la标签是超链接标签, 通过href来设置链接到的目标, 而a标签开闭标签之间的叫做标签内容, a标签的内容是标签显示在页面中的文本。
这就是一个常见的HTML结构, 可以复制并且查看, 通过这个例子, 大家基本上就已经能够掌握HTML的语法了, 和我们的layout非常类似, 但是要注意像a标签这样的标签写法, 和我们平常的写法略有不同。
HTML掌握到这里已经差不多了, 不用太过深究, 这些标签在微信小程序的开发中基本上没用, 微信有一套自己的标签组件, 但是一定要理解这种写法才行。
CSS
前面我们已经讲过HTML的写法了, 下面来简单的看一下CSS的一些基本特点。
首先, HTML用来描述页面结构, 这一点很重要, 也就是说, HTML主要的作用是描述页面上有什么元素, 大致的排列, 大致的顺序, 而不关心页面长相。那元素(或者我们称之为控件)的长相, 例如什么字体大小, 什么颜色等, 这些长相或者叫表现上的东西, 通过CSS来描述, 包括相对的位置等, 都是CSS来描述。
为了说明CSS的作用和写法, 我们对刚才的程序做一个扩展。
细心的同学可能会发现, 多出来了一个style标签, style标签中写的好像还不是XML, 那这个就是我们的CSS, 类似JSON, CSS中通过冒号来表示key-value的分隔, 通过分号来表示不同属*之间的分隔。
了解了CSS的写法以后, 接下来我们细致的探讨一下CSS的原理。
l如果要给某个标签添加修饰(长相)属*, 需要先找到这个标签
lCSS主要的组成部分有以下三个
²选择器
²位置属*
²元素属*
我们一个一个来解读一下:
选择器
选择器就是通过某种方式找到一个标签,例如我们上面的写法,首先给img标签添加一个class属*img_simple,然后在CSS中.img_simple选中这个标签,就可以给这个标签添加CSS属*了,这也类似于我们平常所写的findViewById。
位置属*
在Android中我们使用布局和一些位置属*来确定一个元素的位置,那CSS中如果要确定一个元素位置的话,通常只使用位置属*即可,而位置属*就是类似于我们Android中的layout_marginLeft paddingLeft等。
元素属*
元素属*就是类似于我们Android开发中常用到的textColor textSize等属*。
微信小程序的开发并不直接使用HTML, 但是基本上却直接使用CSS, 所以CSS还是有必要学**一下,在这里不展开继续讨论CSS的一些具体细节了, 但是提供给大家几篇非常优秀的文章,如CSS入门最好的手册 、CSS中的Flex布局语法、CSS3简介,便于大家更细致的了解CSS。
JavaScript
这个部分我准备详细的介绍一下, 同时和Java做一个对比
变量和数据类型
1.var i = 10;
2.var s = "hello";
3.var bool = true;
4.var arr = [1, 2, 3];
5.var arr = new Array(1, 2, 3);
JS中变量的声明和Java有显著的不同
·JS中使用var关键字来声明变量, 不能使用具体的变量类型
o因为变量没有数据类型, 在运行时可以随时改变变量的数据类型
·JS中也有数据类型的概念, `='后面的是什么类型的数据一般就是什么类型
o数值型, 这一点和Java不同, Java中有int和float之分, 但是JS中没有
o字符串型, js中没有字符型这个数据类型, 同时js声明字符串的时候可以使用双引号也可以使用单引号
o布尔型
o数组, 数组有两种声明方式, 它们是完全等价的
·不同于Java, JS中只有两种作用域, 一种是全局作用域, 一种是函数作用域, 在JS中并不是每个花括号之间都是一个作用域, 这一点需要注意
函数
1.function funName(arg1, arg2) {
2. // function body
3. return value;
4.}
5.
6.funName(10, 20);
很显然JS中定义函数的方式和java不同
·JS中没有private 和 private 等限定符, 无论是变量还是函数都没有
·JS的函数参数不声明, 将变量名表示出来即可, 因为JS中并没有变量类型的概念, 变量可以是任何类型
·JS中调用函数的方式和Java一模一样, 函数名(参数1, 参数2), 先牢记这一点, 很重要
·这种函数的定义方式在JS中叫做函数字面量, 简而言之就是字面上表示一个函数的方式
JS中的函数也是一种数据类型, 这一点和Java有巨大的不同, 在JS中函数是一等公民, 可以传递可以赋值, 同时函数还是一个类型, 如下
1.var funName = function(arg1, arg2) {
2. // function body
3. return value;
4.}
5.
6.funName(10, 20);
如上定义了一个匿名函数, 语法和定义一个普通函数有略微的区别
·匿名函数就是声明了一个函数变量, 而变量的值就是一个函数声明, 但是这个声明不加函数名
·匿名函数的声明方式和字面量声明函数基本上是等价的, 只有一个细微的差别, 就是这种方式声明的函数, 在声明后面的代码才可以使用此函数, 而字面量没有这个限制
·这种函数的声明很显著的说明了一个问题, JS中的函数是一种数据类型, 但是Java中的函数不是, Java中的函数只有字面量的定义方式, 并不是一个值
·其实字面量的方式创建函数, 最终JS引擎处理的过程也是通过将其转为这种方式进行存储
下面对函数做一个扩展
1.function funName(arg1, arg2) {
2. // function body
3. return value;
4.}
5.
6.var fun = funName;
7.
8.fun(10, 20);
·JS中无论何种方式声明函数, 其都是一个值, 而值是可以赋值给其它变量的
·函数调用和函数赋值是不同的
o函数的调用是通过函数名()的方式, 记得后面有括号
o而函数当做变量使用的时候, 对其进行赋值是直接使用函数名
o这一点要牢记
对象
众所周知的, JS中没有类型的概念(不准确), 但是这不妨碍JS是一种面向对象的语言, JS中依然有继承和聚合, JS实现面向对象的方式和Java不同, JS是一个面向原型的语言, 这一点属于高级JS技巧的部分, 不需要特别的关注, 但是要知道, JS中无法声明一个类型, JS中的对象更类似于Java中的Map的概念
上面我们提过JS中数组的定义方式, 下面来看看如何定义一个JS中的对象
1.var obj = {
2. property1: "nihao",
3. property2: 10,
4. property3: true
5.}
6.
7.var obj = new Object();
8.obj.property1 = "nihao";
9.obj.property2 = 10;
10.obj.property3 = true;
通过这种方式, 你会发现, 这和JSON很像, 同时又像Java中的Map集合
·对象中是一些键值对, 每一个键值对又是一个变量的声明, 是JS中对象的属*
·对象有两种声明方式, 第一种叫做对象字面量, 第二种方式是正常的声明
·无论何种声明方式, 在使用阶段, 如果赋值的目标属*存在, 则修改其值, 如果不存在, 则创建并赋值
但是, 同学们可能不理解JS中的函数这么简单, 如何实现那么复杂的功能, 那我们接下来看一下如何给一个对象添加一个函数
1.var obj = {
2. property1: "nihao",
3. property2: 10,
4. property3: true,
5. sayName : function(arg1, arg2) {
6. return value;
7. }
8.}
9.
10.var obj = new Object();
11.obj.property1 = "nihao";
12.obj.property2 = 10;
13.obj.property3 = true;
14.obj.sayName = function(arg1, arg2) {
15. return value;
16.}
17.
18.obj.sayName();
这就是给一个对象添加方法的方式, 签名已经介绍过, 在JS中函数是一种数据类型, 可以复制给变量, 同时我们也介绍过, 对象中的属*其实就是变量, 那很好理解, 给对象添加一个方法, 就是给对象中一个变量赋值上一个函数类型的数据而已
总结
以上就是JS简单的语法基础, 这个部分着重关注的是一些和Java的不同, 更具体的语法请参照手册, 非常简单, 对大家来说, 简单看几眼, 也掌握的八九不离十了
HTML, CSS, JavaScript的手册
微信小程序
接下来就要进入微信小程序的学**阶段了, 微信小程序并不难, 但是由于我们并没有接触过前端的开发, 所以可能不太好理解, 练**一个小案例, 会有更深的印象
在开始之前, 有一点需要强调, 虽然微信小程序使用了大量的前端开发的技术, 但是微信小程序是原生的, 并且这些代码无法在浏览器中执行
环境
1.获取微信小程序的AppID
由于现在微信小程序还是内侧阶段, 所以大家应该都没有内侧资格, 包括我也没有, 所以这一步可以省略
2.安装IDE
1.下载
Windows64位IDE下载
Windows32位IDE下载
2.一路下一步即可
3.新建项目
1.打开已经安装的程序
2.在手机上使用微信扫描二维码登录
3.点击加号创建一个新的项目
3.填写信息, 第一个输入框点无AppId
4.点击添加项目, 到此为止已经成功创建了一个微信小程序的工程
编辑器的选择
在JS的领域, 一般情况下不会使用集成开发环境, 也就是我们常说的IDE, 类似Eclipse, AndroidStudio, IntelliJ IDEA等
前端开发者更多的会去选择Atom, Sublime, EditPlus等附带一些快捷功能的编辑器, 这是因为JS是一个动态语言, 并且本身无需编译执行
我们在做微信小程序的开发过程中, 可以使用微信提供的工具中的编辑器进行开发, 也可以选择任何一个你想用的编辑器, 直接编辑文本即可
微信提供的工具中所附带的编辑器是VS Code的核心编辑器
核心概念
一个微信小程序其实类似于一个Android应用, 开发模式也很类似, 所使用到的组件也很类似, 接下来简单的阐述一下开发一个微信小程序的过程
1.创建工程
2.编写app.js文件, 类似于Android中的Application类
3.编写app.json配置文件, 类似于我们Android中的Manifest清单文件, 用于配置工程, 注册页面
4.编写具体的页面
公共文件
小程序中的公共文件主要指的是三个 app.js, app.json, app.wxss, 分别来看一下这三个文件分别的作用
app.js
类似于Android中的Manifest清单文件, 用于获取程序的声明周期事件, 声明全局共享的方法和数据
app.json
我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等
app.wxss
小程序公共样式表, 类似于我们Android中的Manifest里的application节点配置的theme
分层
微信小程序开发的核心概念中, 分层是一个很重要的部分, 现在先来回顾一下Android中的分层
·逻辑层, 也就是平常我们所写的Activity
·视图层, 也就是我们平常所写的layout文件
在进行下面的列举之前, 先简单解释一下小程序开发中的模块, 或者在我们Android中称之为组件
之所以小程序中叫做模块, 是因为小程序并不像Android那样复杂, 并没有Service, Provider, BroadcastRevicer等组件, 模块只是一个页面, 类似于Android中的Activity
上面也就是我们Android中常说的系统提供的MVC分层, 在微信小程序提供的开发框架(Framework)中, 也借鉴了很多现有的JS框架(React, Vue), 由于JS本身的一些特*, 以及微信小程序的量级也比较轻, 所以在工程化上, 微信小程序做的更彻底一些, 分层也更明确
微信团队对现有的大部分程序做了一些分析, 发现常见的逻辑层次有: 数据逻辑, 页面(数据呈现)以及(页面间的)导航
比如我们拿新浪微博 APP 举例:
数据逻辑:我关注的人,我的粉丝,微博用户所发的微博,以及这些微博数据的组织,比如按关注人分组等等这类跟数据相关的部分。
页面:对数据的呈现,比如我关注的人的微博列表,某个用户的微博主页,长微博文章页等等。
导航:页面间的跳转。比如从微博列表页面可以进入到微博详情页,点击微博发帖人头像可以进入个人主页等等。
由于这些思考, 微信给出了一个小程序开发框架, 这个框架名字叫做MINA, 这个框架在页面部分有如下的部分:
逻辑层
js文件
视图层
wxml文件存放HTML代码, 但是这个部分的HTML并不是原生的HTML代码, 而是微信提供了自己的一套标签体系
wxss文件存放CSS代码, 此处的CSS代码基本上就是原生的CSS, 可以支持CSS3
上文详细地介绍了关于微信小程序开发的开发资料,其中就包括了微信小程序判断字符串的操作步骤,希望这份资料能够真正帮助到大家。
微信小程序json字符串,json数据传输怎么弄
微信小程序字符串转换开发实例
微信小程序字符串截取与传递如何操作
上一篇:微信小程序分割字符串操作教程
下一篇:邦微测
