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学习笔记(4)--Jquery中获取table中某列值的具体思路
Apr 10 Javascript
jquery获取子节点和父节点的示例代码
Sep 10 Javascript
JavaScript新窗口与子窗口传值详解
Feb 11 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
javascript实现PC网页里的拖拽效果
Mar 14 Javascript
深入浅析JavaScript中的Function类型
Jul 09 Javascript
JS解决iframe之间通信和自适应高度的问题
Aug 24 Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
jquery实现自定义图片裁剪功能【推荐】
Mar 08 Javascript
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
解决Vue2.0 watch对象属性变化监听不到的问题
Sep 11 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
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
php去掉文件前几行的方法
2015/07/29 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
Python递归遍历列表及输出的实现方法
2015/05/19 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
Python实现计算最小编辑距离
2016/03/17 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
遇到的Mysql的面试题
2014/06/29 面试题
食品安全检查制度
2014/02/03 职场文书
事务机电主管工作职责
2014/02/25 职场文书
政风行风建设责任书
2014/07/23 职场文书
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle