JavaScript学习笔记|基本数据类型——String

本文深入解析JavaScript中的字符串类型,包括定义、转义字符、长度属性、转换为字符串的方法及字符串与数组的区别。适合初学者和进阶开发者理解字符串的底层实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String类型

定义

String类型用于表示字符串,字符串需放在单引号或双引号中。

	var abc = 'abc';
	var def = "def";

用单引号表示的字符串与用双引号表示的字符串完全相同。不过,以双引号开头的字符串必须以双引号结尾,单引号同理。

	var abc = "abc';//语法错误

单引号内部可以使用双引号,双引号内部可以使用单引号

	var a = "Let's go!";

若想在单引号内部使用单引号或双引号内部使用双引号,则需内部的单(双)引号前面加上反斜杠,用来转义。

	var a = "Did she say \"Hello\""
	var a = 'Did she say \'Hello\''

转义

String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者有其他用途的字符

		\0 空字节
    	\n 换行
    	\t 制表
   	 	\b 空格
    	\r 回车
        \f 进纸
        \\ 斜杠
        \' 单引号
        \" 双引号
        \xnn 以十六进制nn表示一个字符(n为0-f),如\x41表示'A'
        \unnnn 以十六进制nnnn表示一个Unicode字符(n为0-f),如\u03a3表示希腊字符ε

如果在非特殊字符前使用反斜杠\,则反斜杠\会被忽略

	console.log("\a");//a

如果字符串需要包含反斜杠,则需要在反斜杠前面在多加一个反斜杠用来转义

	console.log("\\a")//\a

字符串与数组

字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。

	var lang = "javascript";
	console.log(lang[0]);//j
	console.log(lang[1]);//a
	console.log(lang[5]);//c
	console.log(lang[10]);//undefined	如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。
	console.log(lang['a']);//undefined	如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。

但是,字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。

length

任何字符串的长度都可以通过访问其length属性取得,且该属性无法改变

	console.log(lang.length);//10
	lang.length = 20;
	console.log(lang.length);//10	该属性无法改变

转换为字符串

要把一个值转换为一个字符串有两种方式

toString( )

数值,布尔值,对象和字符串值都有toString( )方法。但undefined和null没有该方法。

	var num = 11;
	var numAsString = num.toString();//"11"

调用数值的toString( )方法时,可以传递一个参数:表示toString( )方法以几进制的方式返回数值的字符串形式

	var num = 10;
	alert(num.toString());//"10"
	alert(num.toString(2));//"1010"
	alert(num.toString(8));//"12"
	alert(num.toString(10));//"10"
	alert(num.toString(16));//"a"
String( )

在不知道要转换的值是不是null或undefined时,可以使用String( )函数,这个函数能将任何类型的值转换为字符串。String( )遵循如下规则:

  1. 如果值有toString( )方法,则调用该方法并返回相应结果;
  2. 如果有null,则返回"null";
  3. 如果有undefined,则返回"undefined"。
	var value1 = 10;
	var value2 = true;
	var value3= null;
	var value4;	
	
	console.log(String(value1))//"10"
	console.log(String(value2))//"true"
	console.log(String(value3))//"null"
	console.log(String(value4))//"undefined"
利用+拼接字符串

任何数据数据类型和字符串类型进行+拼接操作,得到的都是字符串类型,利用+与空字符串来完成转化为字符串操作

	console.log(typeof(10+''));//String
参考
  1. 《JavaScript高级程序设计》
  2. 《JavaScript 标准参考教程(alpha)》, 阮一峰 http://javascript.ruanyifeng.com/grammar/string.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值