【字符串的api】

ES5:严格模式

作用:

1、消除代码不严谨性;

2、提高代码的安全性;

3、提高代码的执行效率;

使用严格模式:

“use strict”

在全局作用域和局部作用域的最顶端,放了之后下边代码就算是严格模式

使用时出现的问题:

1、未声明的变量不能直接使用;

2、严格模式情况下,不允许函数参数有相同的变量名;

字符串

定义字符串:

字面量法

<script>
     var str='wweeee';
</script>

构造函数法

<script>
    var str=new String("wweeee");
</script>

两者的区别:

字面量法定义的变量,经过typeof检测,是一个string类型

构造函数法定义的变量,经过typeof检测,是一个object类型

扫描二维码关注公众号,回复: 14966281 查看本文章

只要看到new… typeof的结果都是object

字符串的api:

所有的方法都不会改变原字符串

1、concat()

语法:str.concat(str1);

​ 含义:拼接

​ 返回值:拼接好的字符串

<script>
    var str="hello"
    var str1="word"
    var res=str.concat(str1)
    console.log(res);
</script>

2、charAt();

语法:str.charAt(下标/索引);

​ 含义:根据下标找元素

​ 返回值:下标对应的字符

<script>
    var str="hello"
    var res=str.charAt(1)
    console.log(res);
</script>

3、toUpperCase()/toLowerCase()

语法:str.toUpperCase()/str.toLowerCase()

​ 含义:转大写/转小写

​ 返回值:大写形式的字符串/小写形式的字符串

<script>
   var str="helloword";
    //  转大写
     var res=str.toUpperCase();
     console.log(res);
     var str1="HELLOWORD";
    //  转小写
     var res1=str1.toLowerCase();
     console.log(res1);
</script>

4、split(“符号”)

语法:str.split(“符号”):字符串中需要有这个符号

​ 作用:将字符串转换为数组

​ 返回值:数组形式

<script>
    var str="h-e-l-l";
     var res=str.split("-");
     console.log(res);//['h', 'e', 'l', 'l']
     var str1="h-e-l-l";
     var res1=str1.split("");
     console.log(res1); //['h', '-', 'e', '-', 'l', '-', 'l']
</script>

5、字符串截取

​ str.substring(开始下标,结束下标);包左不包右

​ str.slice(开始下标,结束下标);包左不包右

​ str.substr(开始下标,n);包左不包右,开始下标位置,截取n个

​ 返回值:截取后的

<script>
   var str="helloword";
      console.log(str.substring(3,4));//l
      console.log(str.slice(3,4));//l
      console.log(str.substr(5,4));//word
</script>

例题:将字符串转换成数组,再进行去重

console.log(str.chatAt(i))=====console.log(str[i])

<script>
   var str="helloword";
      var arr=str.split("");
      var newarr=[];
    for(var i=0;i<arr.length;i++){
      
      
        if (newarr.indexOf(arr[i])==-1) {
      
      
            newarr.push(arr[i]);
        }
    }
    //转换成新数组(去重后的)
    console.log(newarr);
    //将去重后的数组转换成字符串
    var str1=newarr.join("");
    console.log(str1);
</script>

6、indexOf()

语法:str.indexOf(“元素”)

​ 作用:根据元素找元素首次出现的下标位置

​ 返回值:查找的首次出现下标位置,找不到就是-1

<script>
    var str = "helloword";
    var res=str.indexOf("l");
    console.log(res);
</script>

7、charCodeAt()

语法:arr.charCodeAt(下标)

​ 含义:查找下标对应的字符的ASCII表的值

​ 返回值:ASCII表的值

在这里插入图片描述

​ ASCII表的值:数字的范围48-57

<script>
     var str = "helloword";
     var res=str.charCodeAt(0)
     console.log(res);
</script>

例题:统计字符串中数字出现的个数

ASCII表的值:数字的范围:48-57

大写字母的范围:65-90

小写字母的范围:97-122

<script>
   var str = "h4e5l64l2o3wo4r5dWSET";
    var count=0;
    var count1=0;
    var count2=0;
    for(var i=0;i<str.length;i++){
      
      
        // 数字出现次数
        if (str.charCodeAt(i)>=48&&str.charCodeAt(i)<=57) {
      
      
            count++;
        }
        //  小写字母出现次数
        if (str.charCodeAt(i)>=97&&str.charCodeAt(i)<=122) {
      
      
            count1++;
        }
         //  大写字母出现次数
        if (str.charCodeAt(i)>=65&&str.charCodeAt(i)<=90) {
      
      
            count2++;
        }
    }
    console.log(count);
    console.log(count1);
    console.log(count2);
</script>

JSON

JSON:前后端数据传输的一种格式

JSON形式需要将对象的键值对都用引号包起来

 <script>
var json={
      
      

        "name":"张三",

        "age":"18",

    }
</script>

json遍历:for…in…循环

 <script>
     // for  in  循环的k值是键,   值:json[k]
   for(var k in json){
      
      
        // 键
        console.log(k);
        // 值
        // console.log(json[k]);
    }
</script>

json字符串:json形式的字符串

 <script>
var str='{"name":"张三","age":"18","gander":"男"}'
</script>

json形式的字符串转JSON对象: JSON.parse()

语法:JSON.parse(str);

注意:str必须是JSON形式的字符串

 <script>
	var str='{"name":"张三","age":"18","gander":"男"}'
	console.log(str);//'{"name":"张三","age":"18","gander":"男"}'
    console.log(JSON.parse(str));//已经变成一个JSON对象
     
      var json=JSON.parse(str);
   		 for(var k in json){
      
      
       		 console.log(k+":"+json[k]);
   		 }

</script>

猜你喜欢

转载自blog.csdn.net/qq_45349018/article/details/121801350
今日推荐