JavaScript学习笔记——字符串String:既像基本类型,又像对象

引入:JavaScript中关于字符串的便捷操作

JavaScript中的运算符有=====!=!==><+-*/
当两个操作数类型不同时,大部分运算符会自动执行类型转换,统一类型以进行后续操作

+运算符:将数字(或布尔值)转换为字符串

+运算符只要遇到字符串,会执行字符拼接(Concatenation)结果一定为字符串

3+"1"结果为"31"
1+1+"9"+1+1结果为"2911"
true+"love"结果为"truelove"
true+"1"结果为"true1"
true+1+"1"结果为"21"

注意:1+1+"9"+1+1结果为"2911"true+1+"1"结果为"21",因为+结合性从左到右

技巧:用number生成字符串时,无需用numbertoString()方法,而是利用+拼接特性:
var str=num+"";
结果为一个字符串

-*/运算符:将字符串(或布尔值)转化为数字

-*/运算符遇到字符串,认为要执行的是算数运算结果一定为数字

3*"1"结果为3
80/"10"结果为10
"0"-true结果为-1
false-true结果为-1

那么,JavaScript是如何实现这样的便捷操作的呢?
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

基本类型和对象

JavaScript中,类型分为两种:基本类型和对象,不属于基本类型的值都是对象

  • 基本类型:数字number、字符串string、布尔值booleannullundefined
  • 特殊的类型:对象object类型(用于表示问题空间中的事物)

在一些情况下,基本类型也如同对象被暂时转换为对象进行处理
使用基本类型string的属性或方法时(如splitsubstringcontact等),JavaScript将把它暂时转换为对象,使用指定的属性或方法,再将其转换为基本类型字符串。这个过程是自动进行的,程序员无需关注。

ps. numberboolean类型(有toString等方法)也有类似的转化

字符串简介

  • JavaScript没有单个字符char,单个字符也作为一个字符串string
  • 字符串可以用双引号""也可以用单引号''表示

字符串:既像基本类型string,又像对象object

在JavaScript中:

  • 可创建作为基本类型的字符串string

  • 也可(使用对象构造函数)创建作为对象的字符串object),支持大量的字符串操作方法

var str=new String();
console.log(typeof(str));//结果为object
  • 但在大多数情况下,无需显式地这样做,因为JavaScript解释器会在需要时自动创建字符串对象

如何跟踪字符串当前是基本类型还是对象呢?

  • 不需要这样做,一般将字符串视为对象就好(其中包含大量帮助操作字符串的方法)
    而JavaScript会负责处理所有的细节
  • 可以随时用typeof判断当前字符串是string还是object

常用字符串方法和属性简介

属性length

属性length返回字符串长度

方法charAt():获取某个位置的字符

传入一个整数index,返回单个字符string[index](以字符串形式)
传入的索引index不存在时,返回空字符串""

方法indefOf():查找子串

传入一个字符str,返回字符串中str首次出现的位置
可以传入第二个参数index,指定开始查找的位置

lastIndexOf()功能类似,但是是从后向前查找子串

如果没有找到str,返回-1

方法match():查找与正则表达式匹配的子串

传入正则表达式RegExp,查找与其匹配的所有子串,返回数组(该数组的内容依赖于RegExp是否具有全局标志g

当没有找到匹配的子串时,返回null

  • null是一个假值,因此可以这样判断字符串是否匹配特定的模式
function validate(phoneNumber){//匹配模式ddd-dddd或ddddddd
	return phoneNumber.match(/^\d{3}-?\d{4}$/);
}

正则表达式详见 Javascript学习笔记——正则表达式

方法substring():提取子串

传入整数index1index2,返回索引之间的子串
可以省略第二个参数,这时默认index2在字符串末尾

方法split():用分隔符将字符串分为多个部分

传入要作为分隔符的字符c,由此分割字符串,返回一个数组

var data = "name|phone|address";
var vals = data.split("|");
console.log("Split array is ",vals);

输出为"Split array is ["name","phone","address"]"

注意这里用逗号分隔两个实参,防止vals被转为字符串

技巧:反转字符串

由于数组有一个reverse方法,而字符串没有,因此可以这样操作:
str=str.split("").reverse().join("");拆为数组,反转,再合成字符串

更多方法

concat()拼接字符串
replace()将特定的子串替换为另一个字符串
slice()删除字符串的一部分
trim()修剪字符串开头和末尾的空格,便于处理
toLowerCase()所有大写转小写
toUpperCase()所有小写转大写

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 字符串对象JavaScript中的一种数据类型,用于表示文本数据。字符串对象可以包含任何字符,包括字母、数字、符号和空格等。在JavaScript中,字符串对象是不可变的,也就是说一旦创建就不能修改。但是可以通过一些方法来操作字符串对象,如拼接、截取、替换等。常见的字符串方法有concat()、slice()、replace()等。掌握字符串对象的使用可以帮助我们更好地处理文本数据。 ### 回答2: JavaScript字符串对象是一个在JavaScript中非常重要的事物。JavaScript字符串对象可以帮助我们在JavaScript编程中进行文本操作。通过了解字符串对象,可以使我们更有效地处理字符串数据,并让我们的代码更加强大。 JavaScript中的字符串对象具有很多方法和属性,可以帮助我们对字符串进行各种操作。以下是一些常用的字符串对象方法: 1. length属性:返回字符串的长度。 2. charAt()方法:返回指定索引位置的字符。 3. concat()方法:连接两个或多个字符串。 4. slice()方法:提取字符串的一部分,并返回一个新字符串。 5. substr()方法:从指定位置开始提取长度为指定的字符。 6. replace()方法:替换字符串中的指定文本。 7. split()方法:将字符串转换为数组。 8. toLowerCase()方法:将字符串转换为小写。 9. toUpperCase()方法:将字符串转换为大写。 在JavaScript中处理字符串非常重要,因为在处理表单、验证用户输入等方面都需要使用到字符串字符串对象也是最常用的JavaScript对象之一,因此熟悉JavaScript字符串对象将有助于提高程序的效率和简洁性。 需要特别注意字符串是不可修改的,一旦创建了一个字符串对象,就无法修改它的值。所以,任何字符串的修改操作都将返回一个新的字符串。 在编写程序时,应根据需要选择适当的字符串操作方法和属性。例如,在向用户显示错误消息时,可能需要使用charAt()方法或slice()方法来提取并显示错误消息中的第一个字符或前几个字符。或者,在对用户输入进行验证时,可以使用indexOf()方法或search()方法来检查输入的字符串中是否包含特定的字符或字符串。 总之,JavaScript字符串对象是处理JavaScript编程中文本数据的重要工具。通过了解字符串对象的各种方法和属性,可以更加有效和灵活的处理和操纵字符串数据。 ### 回答3: JavaScript中的字符串对象是一个字符串值的表示。它提供了对字符串值的访问和操作。JavaScript字符串是Unicode字符串,因此它们可以包含任何Unicode字符(包括多字节字符)。 字符串对象的主要方法有: 1. charAt()方法-返回指定索引的字符。该索引是基于零的。例如: var str = "hello world"; console.log(str.charAt(1)); //输出e 2. concat()方法-将一个或多个字符串连接到原始字符串,并返回新字符串。例如: var str1 = "hello "; var str2 = "world"; var newStr = str1.concat(str2); console.log(newStr); //输出hello world 3. indexOf()方法-返回第一个匹配的字符索引。如果没有找到匹配项,则返回-1。例如: var str = "hello world"; console.log(str.indexOf("world")); //输出6 4. lastIndexOf()方法-返回最后一个匹配的字符索引。如果没有找到匹配项,则返回-1。例如: var str = "hello world"; console.log(str.lastIndexOf("l")); //输出9 5. replace()方法-替换字符串中的字符。例如: var str = "hello world"; console.log(str.replace("world", "everyone")); //输出hello everyone 6. slice()方法-从字符串中提取指定的字符。例如: var str = "hello world"; console.log(str.slice(0, 5)); //输出hello 7. split()方法-将字符串拆分为子字符串,并返回一个数组。例如: var str = "hello world"; console.log(str.split(" ")); //输出["hello", "world"] 字符串对象JavaScript中最常用的对象之一。它提供了许多方法,可以让您对字符串执行各种操作,包括搜索、提取和更改字符。熟练掌握这些方法,可以使您在JavaScript中更有效地处理字符串值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值