js 字符串操作的方法都有哪些

JavaScript013

js 字符串操作的方法都有哪些,第1张

方法一:使用"+"将两个字符串"相加"

示例:

var longString = "One piece " + "plus one more piece."

//结果:longString值为:"One piece plus one more piece."

方法二: 要将多个字符串累积为一个字符串,还可以使用"+="操作符:

示例:

var result = ""

result += "My name is Anders"

result += " and my age is 25"

//结果:result值为"My name is Anders and my age is 25"

方法三:方法concat(),它完成与"+"相同的功能:string.concat(value1, value2, ...)

示例:

var str4="字符串连接"

str4=str4.concat("use concat function connec string")

//结果:"字符串链接use concat function connec string"

1、js分为基本数据类型和引用数据类型

2、string定义为基本数据类型,但是既然为基本数据类型为什么还可以调用方法呢?

let a = "hello world"

a.name = "张三"

console.log(typeof a)

console.log(a)

3、string还有另外一种创建的方法 new String("hello world")

let b = new String("hello world")

b.name = "赵四"

console.log(typeof b)

console.log(b.substring(0, 2))

new出来的字符串则是对象类型,在我们打印的时候可以看到,调用方法的时候是通过原型进行调用方法的

4、在使用字符串方法的时候内部是就行new了的操作从而调用的方法。

js中的基础类型有6种

5种基础类型:undefined null String Number Boolean

1中引用类型:Object

基础类型的string有如下定义方式:

这三种方式有什么区别吗?

str1、str2是普通的字符串,str3是个对象?什么原因呢?

用 typeof 验证一下

用 instanceof 验证一下

可以看出 str3 确确实实是个String对象了

再来看个有意思的事,如果给String加上自定义方法和属性呢?

虽然 str1、str2不是对象,但可以用String上的方法和属性

再看,如果直接给str1、str2定义方法和属性呢?

可以看出str1、str2是不能定义自己的方法和属性的,而str3可以

这就能看出 js 的神奇部分了,什么原理呢?

来看包装对象和原始资料类型

上面看到的str1、str2即为原始资料类型,str3为包装对象,通过typeof可以看出

但str1、str2不能自己定义属性和方法,却可以用String的属性和方法

总结一下

1、第一种和第二种方法定义出来的是原始资料类型,并储存于栈中,并向包装对象(new ..())借来方法和属性.

2、第三种是 包装对象,栈中储存堆指针,堆中储存内容。

关于堆、栈、指针的问题,咱们继续学习