JavaScript字符串_动力节点Java学院整理


Posted in Javascript onJune 27, 2017

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

如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。

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

'I\'m \"OK\"!';

表示的字符串内容是:I'm "OK"!

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

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

'\x41'; // 完全等同于 'A'

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

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

多行字符串

由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用` ... `表示:

`这是一个

多行

字符串`;

模板字符串

要把多个字符串连接起来,可以用+号连接:

var name = '小明';
var age = 20;
var message = '你好, ' + name + ', 你今年' + age + '岁了!';
alert(message);

如果有很多变量需要连接,用+号就比较麻烦。ES6新增了一种模板字符串,表示方法和上面的多行字符串一样,但是它会自动替换字符串中的变量:

var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);

操作字符串

字符串常见的操作如下:

var s = 'Hello, world!';
s.length; // 13

要获取字符串某个指定位置的字符,使用类似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'

JavaScript为字符串提供了一些常用方法,注意,调用这些方法本身不会改变原有字符串的内容,而是返回一个新字符串:

toUpperCase

toUpperCase()把一个字符串全部变为大写:

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

toLowerCase

toLowerCase()把一个字符串全部变为小写:

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

indexOf

indexOf()会搜索指定字符串出现的位置:
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1

substring

substring()返回指定索引区间的子串:
var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'
Javascript 相关文章推荐
jquery实现可拖动DIV自定义保存到数据的实例
Nov 20 Javascript
js 操作符汇总
Nov 08 Javascript
原生javascript实现匀速运动动画效果
Feb 26 Javascript
javascript事件委托的用法及其好处简析
Apr 04 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
JavaScript排序算法动画演示效果的实现方法
Oct 18 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 Javascript
Angular实现双向折叠列表组件的示例代码
Nov 21 Javascript
手淘flexible.js框架使用和源代码讲解小结
Oct 15 Javascript
node.js的Express服务器基本使用教程
Jan 09 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 #Javascript
详解微信小程序 登录获取unionid
Jun 27 #Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 #Javascript
详解vue项目构建与实战
Jun 27 #Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 #Javascript
微信小程序 开发MAP(地图)实例详解
Jun 27 #Javascript
微信小程序商品到详情的实现
Jun 27 #Javascript
You might like
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
php画图实例
2014/11/05 PHP
php数据访问之增删改查操作
2016/05/09 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
Python比较两个图片相似度的方法
2015/03/13 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
数据库基础的一些面试题
2012/02/25 面试题
水毁工程实施方案
2014/04/01 职场文书
会计岗位说明书
2014/07/29 职场文书
股份转让协议书范本
2015/01/27 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
python非标准时间的转换
2021/07/25 Python
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android