温故而知新之- Javascript 基本数据类型中的String

举报
余人杰 发表于 2020/08/03 00:00:01 2020/08/03
【摘要】 字符串String是Javascript基本类型中的成员之一,也是在编程中最常用到的,让我们要复习一下,看能不能温故而知一点点新

String 字符串



你好,请坐,我们先从如何声明定义字符串说起。

声明定义

回顾一下,课堂上pink老师说过,创建字符串时,我们可以使用对象形式,比如:

let name = new String('余人杰');

也可以使用单引号、双引号包裹字符串(两者使用起来没什么区别,不过两者混用时,记住一点就可以,外单内双,外双内单,不要一单一双搭配)。

let name = '我是"余人杰"'; // 外单内双
let name = '我是错误的示范"; // 报错

转义字符

可能大家刚学Javascript字符串时,听到说字符串创建时可以使用单双引号。然后就会问一个问题,那如果我想打印出单双引号呢,怎么办?

那就要用到转义字符了,Javascript中有些字符是有双层含义的,就前面说到的单双引号,打印成字符串时,需要用  \  转义符进行含义转换。

let name = '我是带双引号的\"余人杰\"'


以后会常用到的一些转义符:

符号 \n \t \' \" \\
说明 换行符 制表符 单引号 双引号 斜杆符


连接运算符

我们在项目中,想组合输出内容时,可以使用  连接多个内容组合成字符串。

let firstName = '余人杰';
let id = 'hw91364016';
console.log('我的名字是:' + firstName + ',我的id是:' + id);


想在字符串内容上追加,可以使用 +=

let name = '余人杰';
let fullName += '是我的名字';
console.log(fullName); // 余人杰是我的名字


获取字符串长度

字符串转成大写:

console.log('hw91364016'.toUpperCase()); // HW91364016

字符串转成小写:

console.log('HW91364016'.toUpperCase()); // hw91364016


删除字符串前后空白符

let str = '   我前后有空白字符  ';
console.log(str.length);
console.log(str.trim().length);

删除左边空白方法:trimLeft,删除右边空白方法:trimRight

let str = "  我前后有空白字符  ";
console.log(str);
console.log(str.trimLeft()); // "我前后有空白字符  "
console.log(str.trimRight()); // "  我前后有空白字符"

截取单字符

截取字符是从下标位置0开始:

console.log('余人杰'.charAt(2)); // 杰

截取字符串

截取字符串可用方法: substring、substr、slice


  • slice、substring需要注意, 第二个参数为截取的结束位置

  • substr需要注意 第二个参数指定获取字符数量

let id = 'hw91364016';
console.log(id.slice(3)); // 1364016
console.log(id.substr(3)); // 1364016
console.log(id.substring(3)); // 1364016

console.log(id.slice(3, 6)); // 136
console.log(id.substring(3, 6)); // 136
console.log(id.substring(3, 0)); // hw9 较小的做为起始位置
console.log(id.substr(3, 6)); // 136401
console.log(hd.slice(3, -1)); // 136401 第二个为负数表示从后面算的字符


查找字符串

indexOf


从开始获取到字符串的位置,检测不到字符串时,返回 -1

console.log('hw91364016'.indexOf('1')); // 3

console.log('hw91364016'.indexOf('1', 4)); // 8 从第4个字符向后搜索


搜索字符串位置从结尾开始

console.log('hw91364016'.lastIndexOf('1')); // 8

console.log('hw91364016'.lastIndexOf('1', 7)); // 3 从第7个字符向前搜索


search() 方法可以用指定的子字符串检索字符串,也可用正则表达式进行搜索

let str = "hw91364016";

console.log(str.search("hw"));

console.log(str.search(/\.hw/i));


includes 用于检查字符串中是否包含指定值,第二个参数指查找开始位置

console.log('hw91364016'.includes('1')); //true

console.log('hw91364016'.includes('h', 4)); //true



startsWith 判断是否是指定位置开始,第二个参数为查找的开始位置。

console.log('hw91364016'.startsWith('h')); //true

console.log('hw91364016'.startsWith('1', 1)); //true



endsWith 判断是否是指定位置结束,第二个参数为查找的结束位置。

console.log('hw91364016'.endsWith('6')); //false

console.log('hw91364016'.endsWith('1', 2)); //true


搜索关键词的示例

const messages = ["余人杰", "hw91364016"];

const title = "我的名字是余人杰,我的id是hw91364016";

const status = messages.some(word => {

  return title.includes(word);

});

console.log(status);


心得:学海无涯,需耐心学,一个Javascript中的字符串,就有许多知识点要学,我复习的这些还只是其中一部分,各位同学,温故而知新,需要循序渐进,加油。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。