JS-05-字符串

一、字符串的表示

JavaScript的字符串就是用'...'或"..."括起来的字符表示。

如果'本身也是一个字符,那就可以用"..."括起来,比如:

var a = "I'm ok";

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:

var a = "I\'m \"ok\""; // I'm "OK"

二、转义字符

转义字符\可以转义很多字符,比如:\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。

ASCII字符可以以\x##形式的十六进制表示,例如:

var a = '\x41'; // 完全等同于 'A'

还可以用\u####表示一个Unicode字符

var a = '\u4e2d\u6587'; // 完全等同于 '中文'

三、多行字符串

1、用\n转移字符实现换行;

2、用反引号`...`表示;(比\n转移字符方便)(ES6新增)

示例:

结果展示:

注意:反引号在键盘的ESC下方,数字键1的左边:

 

四、模版字符串 

要把多个字符串连接起来的方式:

1、用+号连接;

2、用${变量名},自动替换字符串中的变量;(ES6新增)

示例:

        let name = '小明';let age = 20;// 方式一let message1 = '你好, ' + name + ', 你今年' + age + '岁了!';// 方式二let message2 = `你好, ${name}, 你今年${age}岁了!`;console.log(message1);console.log(message2);

五、操作字符串

5-1、获取字符串的长度

        var s = 'Test';console.log("s.length = " + s.length);

 

5-2、获取字符串某个指定位置的字符

使用类似Array的下标操作,索引号从0开始。

var s = 'Hello, world!';s[0]; // 'H'
s[6]; // ' '
s[7]; // 'w'
s[12]; // '!'
s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined

 

【注意】:

字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果!

var s = 'Test';
s[0] = 'X';
alert(s); // s仍然为'Test'

以下方法本身不会改变原有字符串的内容,而是返回一个新字符串。

5-3、toUpperCase把一个字符串全部变为大写

var s = 'Hello';
s.toUpperCase(); // 返回'HELLO'

5-4、toLowerCase把一个字符串全部变为小写

var s = 'Hello';
var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower
lower; // 'hello'

5-5、indexOf搜索指定字符串出现的位置

var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1

5-6、substring返回指定索引区间的子串

var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到索引5(不包括索引5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'

更多字符串的相关操作,可以直接去网上搜,很多! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题-环形链表的约瑟夫问题

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” /*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param n int整型 * param m int整型 * return int整型*/ typedef struct…

【MATLAB 】 EMD信号分解+FFT傅里叶频谱变换组合算法

有意向获取代码,请转文末观看代码获取方式~ 展示出图效果 1 EMD信号分解算法 EMD 分解又叫经验模态分解,英文全称为 Empirical Mode Decomposition。 EMD 是一种信号分解方法,它将一个信号分解成有限个本质模态函数 (EMD) 的和&#xff0c…

地平线零之曙光图文攻略,地平线零之曙光在MAC电脑能玩吗

《地平线零之曙光》是一款由Guerrilla Games开发的动作角色扮演游戏,。 如果你非常想在MAC电脑体验这款游戏,可以考虑通过crossover来实现在MAC电脑上进行游玩。 本文讲描述如何在MAC电脑玩地平线:黎明时分 首先下载安装好crossover&#…

想交易盈利?Anzo Capital昂首资本发现了一本畅销书

要想在复杂多变的外汇市场中迅速加深了解并想通过交易每天都可以盈利,是通过每天阅读大量的书籍吗?是每天成为行业培训网络资源和论坛的常客吗?是通过花钱请有经验的交易者进行个人培训吗?还是进行EA交易呢? 都不是&a…

【VTKExamples::Points】第二期 DensifyPoints

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例DensifyPoints,并解析接口vtkDensifyPointCloudFilter,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力…

第十五课 PCB保姆级规则设置(四)

1.常用的规则设置 2.设置完规则后,重新设置规则检查 将不设置的规则,不勾选 3.布线规则 (1)先走短线(模块之内的线) 模块之内的线需要连接,长线的话提前打孔(占位置)…

盘点热门的5个AI视频工具(上):附保姆级教程,居然还有免费的?(建议收藏)

一条完全使用 AI 做出的短视频,点赞上万,转发上万! 你敢信,这是我在前几天刷视频的时候,看到的一个 AI 视频案例。 这种 AI 视频为什么会火? AI 虽然不是什么新的领域,但 2023 年&#xff0c…

如何批量更改图片的创建时间和修改时间 ? 图片属性更改

在数字时代,图像已经成为我们日常生活中不可或缺的一部分。无论是在社交媒体上分享生活点滴,还是在工作报告中展示数据成果,图像都扮演着至关重要的角色。然而,有时我们可能需要对图像进行一些调整,以更好地满足我们的…

【MyBatis面试题】

目录 前言 1.MyBatis执行流程。 2.Mybatis是否支持延迟加载? 3.延迟加载的底层原理知道吗? 4.Mybatis的一级、二级缓存用过吗? 5.Mybatis的二级缓存什么时候会清理缓存中的数据? 总结 前言 本文主要介绍了MyBatis面试题相…

机器学习的魔法(一)从零开始理解吴恩达的精炼笔记

一、机器学习是什么? 1、机器学习的概念 机器学习是一种人工智能领域的技术和方法,旨在使计算机系统能够从经验数据中自动学习和改进,而无需显式地进行编程。它涉及开发算法和模型,使计算机能够自动分析和理解数据,并…

基于DoDAF的航空装备智能保障系统体系结构建模

源自:系统工程与电子技术 作者:苗学问, 董骁雄, 钱征文, 胡杨, 李牧东 “人工智能技术与咨询” 发布 摘 要 保障系统结构建模是发展和构建新一代航空装备智能保障系统的重要基础。航空装备保障系统涉及保障要素多、交联关系复杂, 需从系统工程的角度…

单链表的实现(数据结构)

本篇博客主要是单链表(无头单项不循环)的实现的代码分享 说明:因为此单链表无头(哨兵位),可以说成没有初始化也可以说初始化时没有一个有效地址作为单链表的起始地址 例如下面代码中的plist NULL。 所以在…

倒计时!数境·第七届工业互联网数据创新应用大赛即将截止报名

共赴数据之旅,赋能工业未来! 由深圳市宝安区人民政府和 中国信息通信研究院共同主办的 数境第七届工业互联网数据创新应用大赛 以“数实融合,助推新型工业化”为主题 聚焦先进制造、新能源和电子信息领域 设置算法赛和方案赛共三大赛道…

#QT(串口助手-界面)

1.IDE:QTCreator 2.实验:编写串口助手 3.记录 接收框:Plain Text Edit 属性选择:Combo Box 发送框:Line Edit 广告:Group Box (1)仿照现有串口助手设计UI界面 (2)此时串口助手大…

爬虫入门到精通_框架篇15(Scrapy框架安装)

1 Scrapy安装 Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上。下面说明Python3环境下的安装。 Scrapy依赖的库比较多,至少需要依赖库有Twisted14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平台环境又各不相同,所以在安…

3/7—21. 合并两个有序链表

代码实现: 方法1:递归 ---->难点 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* mergeTwoLists(struct ListNode *list1, struct ListNode *list2) {/*1.如果l1为…

2024最新图标设计趋势!附超好用的图标工具清单

图标,在界面设计中的作用不容小觑。正所谓浓缩的就是精华,一个小小的图标,却有着高效传递信息、美化界面排版、提升用户体验的巨大能力。 既然图标如此重要,了解图标设计趋势对设计师来说几乎是必须要做的事,它可以让…

python3安装chrome,chromedriver亲测有效

客户用python写了个脚本,需要用到chrome和chromedriver扩展,结果说安装不了,各种报错,好吧我来研究一下。众所周知linux自带python2.7,根据报错查了一下资料发现是版本冲突导致的,系统自带2.7,代…

Python语言基础与应用-北京大学-陈斌-P32-31-计算和控制流-上机练习:创建并调用函数-字符集合的并集-上机代码

Python语言基础与应用-北京大学-陈斌-P32-31-计算和控制流-上机练习&#xff1a;创建并调用函数-字符集合的并集-上机代码 本文环境&#xff1a; win10 Thonny4.1.4 # 函数训练字符集合的并集 def my_union(str1,str2):list1 []list2 []i 0 while i < len(str1):lis…

springboot使用异步多线程

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 在shigen之前的很多文章中&#xff0c;提到了线程池&#xff1a; 高性能API设计…