2-14 微信小程序string数据类型(附带方法解析)

数据类型

WXS 语言目前共有以下几种数据类型:

  • number : 数值
  • string :字符串
  • boolean:布尔值
  • object:对象
  • function:函数
  • array : 数组
  • date:日期
  • regexp:正则

string

语法

string 有两种写法:

'hello world';
"hello world";

属性

  • constructor(对创建该对象的函数的引用:返回字符串 "String"
  • length(字符串的长度

除constructor外属性的具体含义请参考 ES5 标准。

方法

  • valueOf

valueOf() 方法可返回 String 对象的原始值。

var str = "Hello World!";
var n = str.valueOf();

以上实例输出结果:

Hello World!
  •  charAt

 语 法 

string.charAt(index)

参数值

参数描述
index必需。表示字符串中某个位置的数字,即字符在字符串中的位置。

返回值

类型描述
String返回在指定位置的字符。

  

返回字符串中的第三个字符:
var str = "HELLO WORLD";
var n = str.charAt(2);

n输出结果:

L

定义和用法
charAt() 方法可返回指定位置的字符。

第一个字符位置为 0, 第二个字符位置为 1,以此类推.


返回字符串中的最后一个字符:

var str = "HELLO WORLD";
var n = str.charAt(str.length-1);
n 返回值:

D

  

  • charCodeAt

 语法 

string.charCodeAt(index)

参数值

参数描述
index必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

返回值

类型描述
Number返回在指定的位置的字符的 Unicode 编码。

  

返回字符串第一个字符的 Unicode 编码:

var str = "HELLO WORLD";
var n = str.charCodeAt(0);


n 输出结果:

72

定义和用法
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。

字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推。

  

  • concat

语法

string.concat(string1, string2, ..., stringX)

参数值

参数描述
string1string2, ..., stringX必需。将被连接为一个字符串的一个或多个字符串对象。

返回值

类型描述
String两个或多个字符串连接后生成的新字符串。

  


连接两个字符串:

var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);
//更简便的方法可以使用var n = str1 + str2 + str3;
n 输出结果:

Hello world! Have a nice day!

定义和用法
concat() 方法用于连接两个或多个字符串。

该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。

  

  •  indexOf 

 语法 

 string.indexOf(searchvalue,start) 

参数值

参数描述
searchvalue必需。规定需检索的字符串值。
start可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。

返回值

类型描述
Number查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1。

  

定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果没有找到匹配的字符串则返回 -1。

注意: indexOf() 方法区分大小写。


查找字符串 "welcome":

var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
n 输出结果:

13


在字符串查找字符 "e" 第一次出现的位置:

var str="Hello world, welcome to the universe.";
var n=str.indexOf("e");
n 输出结果:

1

在字符串第五个位置开始查找字符 "e" 第一次出现的位置:

var str="Hello world, welcome to the universe.";
var n=str.indexOf("e",5);
n 输出结果:

14

  

  • lastIndexOf

语 法

string.lastIndexOf(searchvalue,start)

参数值

参数描述
searchvalue必需。规定需检索的字符串值。
start可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。

返回值

类型描述
Number查找的字符串最后出现的位置,如果没有找到匹配字符串则返回 -1。

  

定义和用法
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

注意: 该方法将从尾到头地检索字符串 string Object,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的结尾(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一个字符在 stringObject 中的位置。stringObject 中的字符位置是从 0 开始的。

如果没有找到匹配字符串则返回 -1 。

注意: The lastIndexOf() method is case sensitive!


实例:
查找字符串 "planet" 最后出现的位置:

var str="Hello planet earth, you are a great planet.";
var n=str.lastIndexOf("planet");
n 输出结果:

36

从第20个字符开始查找字符串 "planet" 最后出现的位置,:

var str="Hello planet earth, you are a great planet.";
var n=str.lastIndexOf("planet",20);
n 输出结果:

6

  

  • localeCompare

语法

stringObject.localeCompare(target)

参数值

参数描述
target要以本地特定的顺序与 stringObject 进行比较的字符串。

返回值

说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。

把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。

localeCompare() 方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。

实例

function lineupStudents(students){
    var stu=students.split(" ");
    stu.sort(function(a,b){
        if(a.length==b.length){
            return b.localeCompare(a);
        }else{
            return b.length-a.length;
        }
    });
    console.log(stu);
}

var s1 = 'Tadashi Takahiro Takao Takashi Takayuki Takehiko Takeo Takeshi Takeshi';
lineupStudents(s1);//输出

['Takehiko','Takayuki','Takahiro','Takeshi','Takeshi','Takashi','Tadashi','Takeo','Takao']
  • match

语法

string.match(regexp)

关于正则表达式可以查阅文档:https://www.w3cschool.cn/jsref/jsref-obj-regexp.html

参数值

参数描述
regexp必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

 

返回值

类型描述
Array存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null 。

全局查找字符串 "ain",且不区分大小写:

var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/gi);

n 输出结果:

["ain", "AIN", "ain", "ain"]
0:"ain"
1:"AIN"
2:"ain"
3:"ain"
length:4
  • replace

语法

string.replace(searchvalue,newvalue)

关于正则表达式可以查阅文档:https://www.w3cschool.cn/jsref/jsref-obj-regexp.html

参数值

参数描述
searchvalue必须。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
newvalue必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值

类型描述
String一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
定义和用法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

实例
在本例中,我们将执行一次全局替换,每当 "Microsoft" 被找到,它就被替换为 "W3CSchool":

var str="Visit Microsoft!";
var n=str.replace("Microsoft","W3CSchool");
n 输出结果:

Visit W3Cschools!

执行一个全局替换, 忽略大小写:

var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/gi, "red");
n 输出结果:

Mr red has a red house and a red car
  • search

语法

string.search(searchvalue)

参数值

参数描述
searchvalue必须。查找的字符串或者正则表达式。

返回值

类型描述
Number与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。
实例
执行一次对大小写敏感的查找:

var str="Mr. Blue has a blue house";
var n = str.search("blue");

n输出结果:
15


执行一次忽略大小写的检索:

var str="Mr. Blue has a blue house";
var n = str.search(/blue/i);

n输出结果:

4
  • slice

语法

string.slice(start,end)

参数值

参数描述
start必须. 要抽取的片断的起始下标。第一个字符位置为 0
end可选。 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

返回值

类型描述
StringThe extracted part of the string
提取所有字符串:

var str="Hello world!";
var n=str.slice(0);
以上实例输出结果:

Hello world!


从字符串的第3个位置提取字符串片段:

var str="Hello world!";
var n=str.slice(3);
以上实例输出结果:

lo world!


从字符串的第3个位置提取8个字符串片段:

var str="Hello world!";
var n=str.slice(3,8);
以上实例输出结果:

lo wo
  • split

语法

string.split(separator,limit)

参数值

参数描述
separator可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

类型描述
Array一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
定义和用法
split() 方法用于把一个字符串分割成字符串数组。

提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注意: split() 方法不改变原始字符串。


省略分割参数:

var str="How are you doing today?";
var n=str.split();
n 输出数组值得结果:

How are you doing today?

分割每个字符,包括空格:

var str="How are you doing today?";
var n=str.split("");
n 输出数组值得结果:

H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?

使用 limit 参数:

var str="How are you doing today?";
var n=str.split(" ",3);
n 将输出3个数组的值:

How,are,you
  • substr

​​​​​​​语法

string.substr(start,length)

参数值

参数描述
start必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

返回值

类型描述
StringA new string containing the extracted part of the text
substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。

提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

实例
从字符串第二个位置中提取一些字符:

var str="Hello world!";
var n=str.substr(2)
n 输出结果:

llo world!

从字符串第二个位置向后提取3个字符:

var str="Hello world!";
var n=str.substr(2,3);
n 输出结果:

llo
  • toLowerCase

把字符串转换为小写:

var str = "Hello World!";
var n = str.toLowerCase();

n输出结果
hello world!
  • ​​​​​​​toUpperCase

把字符串转换为大写:

var str = "Hello World!";
var n = str.toUpperCase();

n输出结果
HELLO WORLD!

 

  • toLocaleLowerCase

与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。

 

  • ​​​​​​​toLocaleUpperCase

与 toUpperCase() 不同的是,toLocaleUpperCase() 方法按照本地方式把字符串转换为大写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toUpperCase() 一样。​​​​​​​

 

  • fromCharCode​​​​​​​

语法

String.fromCharCode(n1, n2, ..., nX)

参数值

参数描述
n1n2, ..., nX必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。

返回值

类型描述
String返回代表 Unicode 编码的字符。
将 Unicode 编码转换为一个字符串:

var n = String.fromCharCode(72,69,76,76,79);
n 输出结果:

HELLO
  • trim

去除字符串两边的空白:

var str = "    Hello World!    ";
var n = str.trim();
console.log(str);
console.log(n);

n输出结果
    Hello World!    
Hello World!

以上方法的具体使用请参考 ES5 标准。

 

 

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HM-A300 微信小程序 SDK 是为了方便开发者在 HM-A300 手环上运行微信小程序而开发的一套软件开发工具包。它提供了一系列的接口和方法,使开发者能够在手环上实现微信小程序的功能和交互。 HM-A300 是一款功能强大的智能手环,具备心率监测、运动监测、睡眠监测等功能,支持与手机的蓝牙连接,并能与微信小程序进行交互。HM-A300 微信小程序 SDK 的出现,进一步拓宽了 HM-A300 的功能,使开发者能够通过编写微信小程序,为手环添加更多个性化的功能。 HM-A300 微信小程序 SDK 提供了一系列的开发工具和接口,包括蓝牙通信、设备状态获取、数据传输等功能。开发者可以通过这些接口与手环进行通信,控制手环的运行状态,读取传感器数据,发送指令等操作。同时,HM-A300 微信小程序 SDK 还提供了开发文档和示例代码,方便开发者快速上手和开发。 借助 HM-A300 微信小程序 SDK,开发者可以为手环开发日常活动监测、健康管理、消息提醒、运动计划等功能。比如,开发者可以通过手环上的传感器监测心率和运动数据,并将数据实时传输到微信小程序,用户可以通过小程序查看自己的健康状况和运动情况。同时,开发者还可以通过微信小程序发送消息提醒、设置闹钟等功能,实现个性化的定制需求。 总之,HM-A300 微信小程序 SDK 为开发者提供了丰富的开发工具和接口,使其能够在 HM-A300 手环上开发出更多个性化的功能和交互,丰富用户的使用体验。 ### 回答2: HM-A300微信小程序SDK是一个开发工具,旨在帮助开发者快速、高效地开发微信小程序。它提供了一系列接口和组件,使开发者能够方便地使用微信小程序的各种功能和特性。 HM-A300微信小程序SDK包含了丰富的API,可以让开发者实现小程序的各种功能,包括用户登录、数据读写、支付等。通过使用SDK提供的接口,开发者可以轻松地与微信服务器进行交互,并获取、处理用户的数据。 此外,HM-A300微信小程序SDK还提供了一些可复用的组件,如导航栏、菜单、按钮等,可以极大地简化开发过程。这些组件可以快速集成到小程序中,减少开发工作量,提高开发效率。 HM-A300微信小程序SDK还具备良好的文档和示例,方便开发者学习和使用。它提供了详细的API文档,包含了每个接口的详细说明、参数和返回值等。同时,SDK还提供了一些实用的示例代码,开发者可以参考这些示例来了解如何使用SDK进行开发。 总之,HM-A300微信小程序SDK是一个强大而且易于使用的工具,可以帮助开发者快速、灵活地开发微信小程序。它提供了丰富的接口和组件,方便开发者使用微信小程序的各种功能和特性,并拥有良好的文档和示例,帮助开发者快速入门和提高开发效率。 ### 回答3: hm-a300 微信小程序 SDK 是为了方便开发者在 HM-A300 智能设备上集成微信小程序而开发的软件开发工具包。通过使用该 SDK,开发者可以快速地将微信小程序运行在 HM-A300 智能设备上,实现智能设备与微信小程序的交互。 HM-A300 微信小程序 SDK 提供了丰富的功能和接口,开发者可以使用这些功能和接口来实现与智能设备相关的业务逻辑。具体来说,该 SDK 包含以下几个方面的内容: 1. 设备连接与通信:SDK 提供了设备连接与通信的接口,可以实现 HM-A300 智能设备与微信小程序之间的数据传输和双向通信,包括设备的连接、断开、发送和接收数据等功能。 2. 数据解析与处理:SDK 提供了对设备发送和接收的数据进行解析和处理的能力,开发者可以使用这些功能来处理设备返回的数据,并提取所需的信息进行相应的处理。 3. 设备控制与操作:SDK 提供了对 HM-A300 智能设备进行各种控制和操作的接口,包括对设备的打开、关闭、设置参数、查询状态等功能,方便开发者进行设备的控制和管理。 4. 视图和界面:SDK 提供了默认的视图和界面,方便开发者快速搭建和调整小程序界面,提高开发效率。 总之,HM-A300 微信小程序 SDK 提供了一套全面而且易用的工具,方便开发者在 HM-A300 智能设备上集成微信小程序,并实现各种与设备相关的功能和交互。通过使用该 SDK,开发者可以更加高效地进行智能设备开发,提升用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值