zoukankan      html  css  js  c++  java
  • js字符串

    字符串

      双引号""或单引号''包围的都是字符串。

    创建字符串

      直接用单引号或双引号包围。
    var str1="我的过去";
    console.log(typeof str1) //string
    var str2='我的过去';
    console.log(typeof str2) //string
    var str3='';
    console.log(typeof str3) //string
    var str4="[1,2,3,4]";
    console.log(typeof str4) //string

    字符串长度 .length

      字符串的 length 是不能修改的,但数组的能修改
    var str="abcd";
    console.log(str.length) //4 字符串长度
    var str2="我的过去";
    console.log(str2.length) //4 字符串长度,中文的也是4,并不占两个字符长度
    str2.length=5
    console.log(str2.length) //4 字符串的 length 是不能修改的,但数组的能修改

    获取指定位置的字符 charAt()

      括号里需要传入要获取字符的下标,从0到str.length-1。或不在这个范围,返回空。
    var str="我的过去";
    console.log(str[0]) //我
    console.log(str.charAt(1)) //的
    console.log(str.charAt(9)) //返回空

    返回字符的十进制 Unicode 编码 charCodeAt()

      括号里输入要处理的字符串索引(下标),返回的是十进制 unicode 哟。
      a-z 97-122
      A-Z 65-90
      0-9 48-57
      空格 32
      回车 12
      左  37
      上 38
      右 39
      下 40
    var str="daysme";
    console.log(str.charCodeAt(0)) //返回100 , d 字母的 十进制 unicode 码是 100 。

    把 unicode 编码转为字符 string.formCharCode()

      可以输入多个值。
    console.log(String.fromCharCode(100)) //d
    console.log(String.fromCharCode(25105,30340,36807,21435)) //我的过去

    从头开始检索指定字符串 indexOf()

      第一个参数是要查找的相应字符;
      第二个参数是表示要查找的开始位置(包含输入的位置)。
      如果没有传入第二个参数,默认从头开始找。
      找到时返回找到字符的下标,找不到返回-1。
    var str="我的过去,我的过去,我的过去"
    console.log(str.indexOf("过")) //2
    console.log(str.indexOf("过去")) //2 ,也是2,因为它找的是一个整体
    console.log(str.indexOf("我")) //0 ,不指定开始位置时从0开始找
    console.log(str.indexOf("我",4)) //5 ,从第4个位置开始找“我”,找到的下标是5
    console.log(str.indexOf("我",5)) //5 ,从第5个位置开始找“我”,也包含位置5
    console.log(str.indexOf("你")) //-1 ,找不到即返回 -1

    从后面开始检索指定字符串 lastIndexOf()

      与 indexOf() 相同,但他是从后面开始查找。返回一个指定字符最后出现的位置。
    var str="我的过去,我的过去"
    console.log(str.lastIndexOf("我")) // 5 ,从后往前检索,为什么结果是 5 不是 3 不是 4 ?
    //因为返回到的是字符下标,下标都是从左到右 0 开始的。

    截取字符串 substring(start,end)

      start 开始位置(包含)
      end 结束位置(不包含)。
      返回一个新的字符串。
      注意: substring 的 strong 并不写成大写的 Strong 。
      参数不能是负值。
    var str="我的过去"
    console.log(str.substring(0)) //我的过去
    console.log(str.substring(0,2)) //我的

    截取字符串 slice()

      传入的参数也是开始位置和结束位置。
      与 substring 的不同是 slice 可以是负值。
      如果为负值时把最后一个作为开始。
      比如 -1 指字符串的最后一个字符。
      如果参数错误,返回空。
    var str="我的过去"
    console.log(str.slice(0)) //我的过去
    console.log(str.slice(0,2)) //我的
    console.log(str.slice(-3,-1)) //的过
    console.log(str.slice(-3,0)) //返回空,错误。

    分割字符串 split()

      参数1表示开始分割的标签符;
      参数2表示允许分割的最大长度,一般不设置。
    var str="a/b/c/d/e/f";
    console.log(str.split("/")); //["a", "b", "c", "d", "e", "f"]
    var str="a/b/c/d/e/f";
    console.log(str.split("b")); //["a/", "/c/d/e/f"]
    var str="a/b/c/d/e/f";
    console.log(str.split()); //["a/b/c/d/e/f"] 整个转为数组
    console.log(str.split("我的过去")); //["a/b/c/d/e/f"] 同上,不能以传入的参数分割时,以忽略参数处理,整个转为数组
    console.log(str.split("")); //["a", "/", "b", "/", "c", "/", "d", "/", "e", "/", "f"] 每项都分开了

    字符串颠倒

    // 把字符串颠倒 "abcdef" -> "fedcba"
    // 一
    var str="abcdef";
    var str2="";
    for(i=0;i<str.length;i++){
      str2+=str[str.length-i-1];
    }
    console.log(str2)
    // 二
    console.log(str.split("").reverse().join(""));

    转换为大写 toUpperCase()

    var str="Hello World!"
    console.log(str.toUpperCase()); //HELLO WORLD!

    转换为小写 toLowerCase()

    var str="Hello World!"
    console.log(str.toLowerCase()); //hello world!
     
  • 相关阅读:
    OCS 2007 R2下载资源整理
    Windows Server 2012 R2 WSUS 4.0 加速
    JavaScript入门(三)
    JavaScript入门(一)
    JavaScript入门(二)
    CSS基础
    古董代码
    自我介绍
    Android Activity的加载的模式
    Android 数字签名
  • 原文地址:https://www.cnblogs.com/daysme/p/6141996.html
Copyright © 2011-2022 走看看