JS字符串

字符串

一、概念

字符串就是零个或多个排在一起的任何字符,放在单引号或双引号之中。

var str1= "123";
var str2= '123';

引号嵌套:

  • 单引和双引之间只能互相嵌套;
  • 反引中可以嵌套双引也可嵌套双引。
<script>
    var str1 = "我们的网址是'http://www.baidu.com'";
    var str2 = '我们的网址是"http://www.baidu.com"';
    var str3 = `文字'链接'为我们的网址:"http://www.baidu.com"`;
    console.log(str1);//我们的网址是'http://www.baidu.com'
    console.log(str2);//我们的网址是"http://www.baidu.com"
    console.log(str3);//文字'链接'为我们的网址:"http://www.baidu.com"
</script>

二、语法

(一) 字符串默认只能写在一行内,分成多行将会报错。

'a
b
c'
// SyntaxError: Unexpected token ILLEGAL

(二) 如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。

var longString = "Long \
long \
long \
string";

longString
// "Long long long string"
拓展

反斜杠:在字符串内有特殊含义,用来转义一些特殊字符。【如果字符串的常规内容之中,需要展示反斜杠,那么在反斜杠前再加一个反斜杠,用来对自身进行转义。】

var path = "C:\\games\\war3\\";
console.log(path);   //C:\games\war3\

(三) 模板字符串(template string) ES6扩展

模板字符串是增强版的字符串,用 反引号(`) 标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

1.普通字符串使用
var str =  `你好,这里是AIU哎呀的博客`;
2.多行字符串

使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。

var str =  `
你好
这里是AIU哎呀的博客
欢迎评价
渴望建议
`;

效果图
在这里插入图片描述

3. 嵌入变量使用

模板字符串中嵌入变量,需要将变量名写在${}之中。

var name = 'AIU哎呀'
var job= '前端'
var str = `您好, 这里是${name},${job},欢迎您的到来`;
//"你好, 这里是AIU哎呀,前端,欢迎您的到来"

: 花括号内部允许任意的JS表达式,允许进行运算,允许引用对象属性,允许调用函数。
e.g.

var x = 1;
var y = 2;
var obj = {x: 1, y: 2};
function fn() {
  return "Hello World";
}
console.log(`${x} + ${y} = ${x + y}`);          //1 + 2 = 3
console.log(`${x} + ${y * 2} = ${x + y * 2}`);  //1 + 4 = 5
console.log(`${obj.x + obj.y}`);                //3
console.log(`foo ${fn()} bar`);                 // foo Hello World bar

三、常见方法

1. 长度计算,连接

  • length:用于返回字符串中的字符数
  • charAt(index) 方法: 用于返回指定索引处的字符。索引范围(index): 0 ~ length() - 1。【若超出索引范围,不报错,不输出】
  • charCodeAt(index) 方法: 用于返回指定位置的字符的 Unicode 编码。【如果 参数 index 是负数,或大于等于字符串的长度,则返回 NaN。】
var str = "hello";
var str2 = " world";
console.log( str.length );            //5
console.log( str[0] );                //h
console.log( str[str.length - 1]  );  //o
console.log( str.charAt(0) );         //h
console.log( str.charCodeAt(0) );     //104

var str3 = str + str2;
console.log( str3 );                  //hello world

2. 字符串截取

(1) substr(start,length):

用于返回字符串中的字符数

string.substr(start,length);  //(参数[数值]:开始位置[必填]和长度[选填])

:如果省略了参数长度,那么返回从开始位置到结尾的字符串。重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

(2) substring(from, to):

用于提取字符串中介于两个指定下标之间的字符。【包括开始处的字符,但不包括结束处的字符。】

var str="Hello world!";
console.log(str.substring(3)); //lo world!
console.log(str.substring(3,7)); //lo w

:如果省略了参数to,那么返回从开始位置到结尾的字符串。

(3)slice(start, end):

提取字符串的某个部分,不改变原有字符串。

var str="Hello world!";
var str1 = str.slice(4);
var str2 = str.slice(4,10);
var str3 = str.slice();
console.log(str1); //o world! [从第 5 个字符开始截取到末尾]
console.log(str2);  //o worl [从第 5 个字符开始截取到第10个字符]
console.log(str3);  //Hello world!
console.log(str); //Hello world!  [不改变原有字符串]

3. 查找

(1)查找 search(searchvalue):

用于检索字符串中指定的子字符串【如果没有找到任何匹配的子串,则返回 -1。】searchvalue参数,必填

(2)替换 replace(searchvalue,newvalue):

用于在字符串中用一些字符替换另一些字符

var str = "hello my world";
var s1 = str.search('my');   //6 找不到为-1
var s2 = str.replace('my', 'your'); // hello your world

4. 大小写转换

(1)大写 toUpperCase():

用于把字符串中所有字符转换为大写。

(2)小写 toLowerCase():

用于把字符串中所有字符转换为小写。

var str = "Hello";
console.log(str.toUpperCase());   //HELLO
console.log(str.toLowerCase());   //hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值