← 返回首页
Javascript基础教程(十)
发表时间:2020-03-26 12:44:21
讲解Javascript的string类型

1.如何声明string类型变量

Javascript中创建字符串的方法主要有三种:

这三者方式的区别是: 通过String直接创建的字符串和字符串表面量为基本数据类型,属于JavaScript中的直接量(包含数字,以及数组、对象和正则表达式、数字和布尔值的直接量格式)。 通过 New String来实例化的是一个String对象, 所以我们可以调用String对象的方法。

例如:

<script>
    let s1 = "javascript";
    let s2 = new String("javascript");
    let s3 = String("javascript");
    console.info(s1);
    console.info(typeof (s1));

    console.info(s2);
    console.info(s2.toString()); //对象类型可以调用成员方法。等同于valueOf();
    console.info(typeof(s2));

    console.info(s3);
    console.info(typeof(s3));
    console.info(s1==s2);
    console.info(s2==s3);
</script>

运行结果:

2.转义字符和unicode

字符串中输出一些特殊字符,用转义字符\来标识。转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\。

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

ES6新增了一种模板字符串,它会自动替换字符串中的变量,更方便地实现字符串的拼接效果。 例如:

<script>
    var s1 = "I'm OK! ";
    var s2 = 'I\'m OK!';
    var s3 = "使用转义字符\\";
    console.log(s1);
    console.log(s2);
    console.log(s3);
    console.log('\u4e2d\u6587');

    var name = '张三';
    var age = 18;
    var message = `你好, ${name}, 你今年${age}岁了!`;
    console.log(message);
</script>

运行结果:
I'm OK! 
I'm OK!
使用转义字符\
中文
你好, 张三, 你今年18岁了!

3.使用String API

String类有很多内置函数。其中常用API如下:

函数名字 说明
toLowerCase() 所有字符都转成小写
toUpperCase() 所有的字符都转成大写
charAt(index) 获取指定位置的字符
join()) 方便实现字符串的拼接
charCodeAt(index) 获取指定位置字符的unicode编码
indexOf("关键字") 查找关键字第一次出现的下标
lastIndexOf("关键字") 查找关键字最后一次出现的下标
slice(start,end) 截取字字符串,支持负数,也就是倒数
subString(start.end) 截取字字符串,不支持负数,也就是不支持倒数
subStr(start,count) 从指定字符起,截取几个字符
split("分割符",[,count]); 按规律分割字符串
toString() 返回字符串
trim() 去除两侧的空格

实例:

<script>
    let s1 = "Hello,Javascript! Javascript is a script language.";
    let s2 = "apple,watermelon,grape,banana";
    let s3 = new String('Hello,javascript');
    let s4 = "   Hello,Javascript     ";

    let city = ["北京","上海","广州"];
    console.info(s1.toLowerCase());
    console.info(s1.toUpperCase());
    console.info(s1.charAt(6));
    console.info(city.join("-"));
    console.info(s1.charCodeAt(0));
    console.info(s1.indexOf('script'));
    console.info(s1.lastIndexOf('script'));
    console.info(s1.slice(0,-15)); //可以从后往前截取。
    console.info(s1.substr(0,5));
    console.info(s1.substring(0,5));
    console.info(s2.split(','));
    console.info(s3.toString());
    console.info(s3.valueOf());
    console.info(s4.trim());

</script>

4.模板字符串

JavaScript 中的模板字符串是一种方便的字符串语法,允许你在字符串中嵌入表达式和变量。模板字符串使用反引号 `` 作为字符串的定界符分隔的字面量。

实例:使用模板字符串拼接当前的中文日期格式字符串(yyyy-MM-dd)。

let date = new Date(); // 创建一个表示当前时间的 Date 对象
let year = date.getFullYear(); // 获取年份(四位数)
let month = (date.getMonth() + 1).toString().padStart(2, '0'); // 获取月份并转换为两位数格式
let day = date.getDate().toString().padStart(2, '0'); // 获取天数并转换为两位数格式
// 将年、月、日连接起来形成完整的日期字符串
let dateString = `${year}-${month}-${day}`;

console.log(dateString);