字符串

字符串

一、创建字符串

  • 字面量创建

    var str = 'hello'
    
  • 构建函数创建

    var str = new String('hello')
    

    两种方式创建的字符串没有区别,除了在控制台打印显示的区别除外

二、字符串操作

  • 字符串有length 属性,表示字符串的长度,也就是字符串中字符的个数

    • 注: 空字符串也算一个字符
  • 字符串是按照索引排列,可以通过索引访问每一个字符,字符值只能访问 ,不能改变

    var str = 'hello world'
    document.write(str[1])	//e
    str[1] = 'z'
    document.write(str[1])	//e,并没有改变原字符串的值
    
    • for 循环遍历字符串,和遍历数组方法一样

三、模板字符串(重点)

  • ES2015前,字符串拼接使用'' (单引号)或者"" (双引号),但是在代码换行时,操作和输出变量值时不方便

  • ES2015后, 字符串拼接使用 ``(反引号,英文状态下Esc下面那个键) ,引用变量时可以使用 ${变量名}

    var str = '<div>
        <p>
            <span></span>
        </p>
    </div>'		//使用单引号会报错,要在每一行都用''在拼接起来,很麻烦
    
    var str = `<div>
        <p>
            <span></span>
        </p>
    </div>`		//使用``(反引号),没有报错,不用拼接
    
    

四、编码(了解)

  1. ASSCLL码: 记住英文大小写相差32,A65,a97
  2. unicode编码: 也叫万国码,统一码,常用UTF-8就是一种8位的unicode字符集
  3. GBK: 汉字内码扩展规范

五、字符串的常用方法

  • 我们操作字符串,也有一堆的方法来帮助我们操作
  • 字符串和数组有一个一样的地方,也是索引来排列的,从0开始
  1. charAt(索引)

  • charAt(索引`是找到字符串中指定索引的位置返回

    var str = 'jack'
    //使用charAt找到字符串中的某一个元素
    var index = str.charAt(2)
    document.write(index)	//c
    
    • 因为字符串也是按照索引进行排列的,也是从 0 开始的
    • 所以索引2的位置是c
  • 没有对应的索引,那么就会返回一个空字符串

    var str = 'jack'
    //使用charAt找到字符串中的某一个元素
    var index = str.charAt(5)
    document.write(index)	//''
    
    • 这个字符串没有索引为5的位置
    • 所以会返回一个空字符串’’
  1. charCodeAt(索引)

  • charCodeAt(索引) 就是返回对应索引位置元素的unicode编码

    var str = 'jack'
    //使用charCodeAt找到字符串中的某一个元素
    var index = str.charCodeAt(0)
    document.write(index)	//74
    
    • 因为j 在unicode对照表对应的是74,所以返回74
  1. indexOf & lastIndexOf

  • indexOf() 就是按照字符,找到对应的索引

    var str = 'jack'
    //使用indexOf找到字符串中的某一个元素
    var index = str.indexOf('j')
    document.write(index)	//0
    
    • 因为字符j 在字符串jack 中的索引位置是0,所以返回0
  • lastIndexOf() 返回()中,最后一个字符的索引

    var str = 'aabbac'
    //使用lastIndexOf找到字符串中的某一个元素
    var index = str.lastIndexOf('a')
    document.write(index)	//4,返回最后一个a的索引
    
  1. substring&substr

  • substring 是用来截取字符串的

    语法: substring(从哪个索引开始,到哪个索引截止),包含开始索引,不包含结束索引

    var str = 'hello'
    	// 01234
    //使用substring截取字符串
    var newStr = str.substring(1,3)
    document.write(newStr)	//el
    //从索引1开始,到索引3结束,包含开始索引,不包括结束索引
    //所以返回el
    
  • substr 也是用来截取字符串的

    语法: substring(从哪个索引开始,截取多少个)

    var str = 'hello'
    	// 01234
    //使用substr截取字符串
    var newStr = str.substring(1,3)
    document.write(newStr)	//ell
    //这个方法和substring不一样的是,第二个参数是截取多少个
    //从索引1开始,截取3个,所以得到ell
    
  1. replace

    replace 用于在字符串中用一些字符替换掉另一些字符

    var str = 'hello world'
    //使用substr截取字符串
    var newStr = str.replace('world', "school")
    document.write(newStr)	//hello school
    
  2. split

    split() 方法用于把一个字符串分割成字符串数组。

    语法: split(以什么作为分隔,分割多少次)

    var str="How are you doing today?"
    //使用split分隔字符串
    document.write(str.split(" ") + "<br />")	//How,are,you,doing,today?
    document.write(str.split("") + "<br />")	//H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
    document.write(str.split(" ",3))		//How,are,you
    document.write(str.split("o",3) + "<br />")	//H,w are y,u d
    
  3. trim()

    trim()方法用于去除首尾字符串的空格

    var str = "       Runoob        ";
    document.write(str.trim());	//Runoob
    
  4. includes

    includes 方法用于检测数组或者字符串是否包含某元素

    var arr = ['baidu','google','sougou']
    arr.includes('baidu')	//true
    arr.includes('taobao')	//false
    
  5. startsWith()&endsWith()

    • arr.startWith(字符)是否以字符开始
    • arr.endsWith(字符)是否以字符结束
    • 是返回true,不是返回false
  6. toLowerCase 和 toUpperCase

这两个方法分别是用来给字符串转成小写字母和大写字母的

var str = 'HELLO'
//使用toLowerCase转换成小写
var lower = str.toLowerCase()
document.write(upper)	//hello
//使用toUpperCase转换成大写
var upper = upper.toLowerCase()
document.write(upper)	//Hello
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值