JS之字符串

1.JS字符串的概念
字符串就是一串字符,由双(单)引号括起来。
字符串是 JavaScript 的一种数据类型。
和数组一样是一个容器。
值类型是常量,不能改变。
字符串的增删改查 不能针对于本身 而是返回一个新的字符串。
2.字符串的定义和使用
1.直接赋值

var str ="hello world"//基本类型 

2.以new关键词声明(引用了对应的值的地址)

var str = new String("abc"); //引用了空值的地址,引用类型
  //注意: 此刻str为引用类型(object对象) 用new产生的变量都是引用类型的变量,也叫对象

3.转换

var str = String(‘hello’);
new String()String() 区别
new String是构建一个String对象 (引用数据类型 有地址指向的)
String 单纯的将对应的传进入的参数转为string类型(值类型)

var s1 = new String(‘hello world’);
    var s2 = String(‘hello world’);
    console.log(typeof s1); //object
    console.log(typeof s2); //string

ES6新增 字符串模板

var a ='jack'
var str =`hello string ${a}` //esc下面的这个键 解析${} 以变量来解析
console.log(str); //hello string jack

3.字符串的属性
1.length属性
返回字符串的长度(包含空格及换行)

var str = 'a b12'
console.log(str.length)//5
console.log(str[0]);  //获取字符串中对应下标的字符a
注意: ECMAScript 中的字符串是不可变的; 也就是说,字符串一旦创建,它们的值就不能改变.

4.字符串的方法(返回新的字符串)
通过下标找字符串(char 字符)

charAt(下标)

var str = 'abc'
str.charAt(0) //返回的是a
charCodeAt (返回ACSII码)

var str = 'abc'
str.charCodeAt(0) //返回的是97
通过字符串找下标(找不到返回-1 找的到返回对应的下标值 number(第一次出现的))

indexOf()

var str = 'abcdef'
console.log(str.indexOf('ab')) //返回的下标0
console.log(str.indexOf('g')) //找不到返回-1
//可以有俩个参数 第一个参数为 对应需要查询的字符串 第二个参数为 开始查找的下标
console.log(str.indexOf('b',2)) //从下标2开始找 找第一个出现b的位置 返回-1
var str = 'abbbccde'
console.log(str.indexOf('b',2)) //从下标2开始找 找第一个出现b的位置 2
lastIndexOf

var str = 'abcdebc'
console.log(str.lastIndexOf('b')) //5
console.log(str.lastIndexOf('b',0)) //-1 从0的位置往前找
console.log(str.lastIndexOf('b',4)) //1//也就是说默认的情况下 对应的后面的下标可以省略 str.length-1

search 方法(和indexOf一样 支持正则表达式)

var str = 'abc'
console.log(str.search(/bc/)) //1 /bc/正则表达式
console.log(str.search(/ab/,0)) //从0的位置开始找 匹配ab的内容
静态方法(通过构造方法名直接调用的叫做静态方法 他是对应的static修饰的)

fromCharCode 将对应的ascii码转为字符串

var str = String.fromCharCode(98) //返回的是一个字符串
console.log(str) //b
concat 将多个字符串转为连接成一个字符串返回

var str = 'hello'.concat('world')
console.log(str)//hello world

支持正则的方法(4个)
search 查找(找到返回下标 没找到返回-1)
replace 替换 (将找到的第一个字符串替换成一个新的字符串)

var str = 'abca'
var str1 = str.replace('a','hello')//将a替换成hello
console.log(str1)//hellobca
split 分割(返回数组)

//分割 成为一个数组 split 数组变成字符串 join (默认以,)
var str = '1,2,3'
//默认不是以,作为分割 默认不分割 直接填入到数组
console.log(str.split()); //['1,2,3']
console.log(str.split(',')); //['1','2','3']
match 匹配(返回数组)

//match 返回一个数组 (匹配的内容)
var str ="abcacc"
//默认只找第一个匹配的 加入到数组
var arr = str.match('a')
console.log(arr);//a
截取的方法

substring(开始的下标,结束的下标)
substr(开始的下标,个数)

//截取的方法 substring substr
var str ="abcdef"
//substring(开始的下标,结束的下标) 不包含结束的下标
console.log(str.substring(1));//bcdef
console.log(str.substring(1,3));//截取不包含最后一个下标 (默认不填str.length)bc
// substr(开始的下标,截取的个数)
console.log(str.substr(1));//默认的情况是截取到最后 bcdef
console.log(str.substr(1,3));//从下标1开始截取 截取个数为3个 bcd

转大写 (toUpperCase)

var str = 'abcA'
console.log(str.toUpperCase())//ABCA

转小写 (toLowercase)

var str = 'abcA'
console.log(str.toLowerCase())//abca

总结

string是不能改变的(常量)
string的方法返回的都是一个新的字符串
string的length属性是只读的(不能赋值)读取对应的字符串的长度
字符串可以通过下标进行访问(string[i])
字符串方法 charAt charCodeAt
搜索 indexOf lastIndexOf search
支持正则的方法 search replace split match
截取的方法 substring substr
转大写和小写 toUpperCase和 toLowerCase
静态方法 fromCharCode 根据ascii转为字符串 Math类(数学类 一起和数学计算相关的方法都在这个里面且这个方法都是静态方法)

属性
Math.PI:表示π(3.1415926)
E 科学计算法

方法

Math.round() :将括号里面的数字采用四舍五入形式取整。

Math.abs():求绝对值

Math.ceil():将括号里面的小数采用向上取整

Math.floor():将括号里面的小数采用向下取整

Math.pow():求幂,第一个参数是底数,第二个参数是指数。

Math.max():求括号里面数字的最大值,数字之间逗号隔开。

Math.min():求括号里面数字的最小值,数字之间逗号隔开。

Math.sqrt():开根号。

Math.random():随机数 -- [0,1)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值