第六天字符串

字符串的概述

字符串是基础数据类型,不可改变,字符串的相关方法不能改变原本字符串,会返回一个新的字符串,字符串是一个存储结构,具备增删改查的方法,字符串也拥有length属性,只能通过length获取,不能改变(只读)

字符串的创建

1.直接声明赋值

var str ='hello'

此时,str是字符串类型

2.用new关键词

var str =new String('hello')

此时,str是对象类型,会在堆里开辟空间存储数据

3.字符串模板

var str ='hello'

var str1=`你好${str}`

console.log(str1)  //你好hello

扩展

1B=8个字节

一般数值占一个字节,英文字符占一个字节,中文字符占两个字节(根据对应编码)

字符串的相关方法

查询的方法

1.indexOf 根据字符串找下标,找不到时返回-1,从前往后查找

var str  ='abcdabcd'
console.log(str.indexOf(d))  //3
console.log(str.indexOf(b,3)  //6

2.lastIndexOf (从后往前查找,方法与前一个一样)

3.search (从前往后,支持正则表达式,不支持位置的设置)

console.log(str.search('abc')); //0

   var regx = /abc/gi
  console.log(str.search('abc')); //0

 
根据下标返回对应的字符串
charAt(根据下标返回字符串)
// 字符串跟数组一样可以直接通过下标来访问对应的字符
var str = 'hello'
console.log(str[0]); //h 返回下标为1的字符
//根据下标获取对应的字符串
console.log(str.charAt(0));
charCodeAt (根据下标返回对应字符串的ascii码)
//根据下标获取对应的字符串的ascii码 找不到返回NaN
var str = 'hello'

console.log(str.charCodeAt(0));//返回h的ascii码 104

截取方法

slice,substring,substr

slice与substring基本一致,都是从起始位置开始截取,不包含结束位置,不同点,substring必须有开始位置,且不能为负数,slice可以没有起始位置,默认从下标为0开始截取整个string

sunstr()截取方法,括号内第一个数字为开始位置,第二个数为截取的个数

连接的方法

concat相当于‘+‘,concat可以连接任意的数据类型,返回一个新的字符串

支持正则的4个方法

search,replace,match,split

replace

是一个高阶函数,参数可以带函数,返回的是一个字符串

只会替换第一次找到的字符串,除非添加正则g全局查找

var  str='aabc'

var newStr=str.replace('a','d')
console.log(newStr) //'dabc'
var str = '你好世界'
var str1 = str.replace('好',function(value){//这个value其实就是你匹配的值
console.log(value);
return value+'坏' //返回的值就是用于替换的值
})
console.log(str1);//你好坏世界

match匹配

将匹配的字符串填入数组里,返回一个数组,也只会匹配第一个找到的,除非加了正则全局匹配

var str5 = '1,2,3,4,5'
var regx = /1,2,3/gi
 console.log(str5.match(regx));  //['1,2,3']

split 分割

//split 分割的方法 将对应的字符串分割成对应的数组 (Array)
var str = 'abc,Abc,Ab'
var regx = /,/gi
var splitArray = str.split(regx)
console.log(splitArray);

其他方法

去除前后空格

trim

// trim 去除前后空格
var str = ' a b '
var str1 = str.trim()
console.log(str1); //'a b'

转大写

toUpperCase

转小写

toLowerCase

静态方法

 将ascii码转为字符串(使用类名.对应的方法 调用 使用static进行修饰)

fromCharCode

//静态方法 使用对应的类名直接点 使用static进行修饰的 fromCharCode
var newStr =  String.fromCharCode(97,98,99) //将ascii码变成字符串
console.log(newStr);//abc

Math类

概述:Math类是用于数学运算的。他里面的属性及相关的方法都是静态的(方便调用)

属性 property: PI  圆周率π

                        E  科学计数法

方法 function

Math.ceil 向上取整

Math.floor 向下取整

Math.round  四舍五入

Math.random 取随机数(0-1随机数,包含0不包含1)

Math.abs 取绝对值

Math.pow 幂次方

Math.sqrt  开平方

 

 

posted @ 2022-10-08 21:57  newway1228  阅读(8)  评论(0)    收藏  举报