JS_09

一、JSON数据格式*

概述:JSON【Javascript Object Nonation】 JS对象一种标记法

JS有JSON数据格式,JSON数据格式是由一个大的花括号表示,JSON数据格式在JS中是引用类型的数据。JSON数据格式作用如下:

1.前端工程师可以后台工程师进行数据交换

2.JSON数据格式可以通过KV对存储、读取、修改和添加数据。

语法格式:

{

          "name":"小明",

            "age":12

}

JSON数据格式的K务必加上双引号,多个KV对之间用逗号隔开。

1.1、存储数据:

<script>
    //JSON数据格式:大花括号表示
    console.log({});
    //JSON属于引用类型的数据
    console.log(typeof {});
    //JSON数据格式存储数据
    var info = {
        "name" : "诸葛亮",
        "age"  : 12,
        "marray":true,
        "hobby":["吃饭","睡觉"]
    }
    console.log(info);
</script>

JS_09

 

 

 JSON存储数据的时候KV对进行存储,K务必加上双引号

JSON存储数据的时候右侧V可以是任意类型数值

3.2读取数据

概述:可以通过点语法和枚举法来读取数据。

<script>
    var info = {
        "name" : "诸葛亮",
        "age"  : 12,
        "marray":true,
        "hobby":["吃饭","睡觉"]
    }
    //点语法读取数据
    console.log(info.name);
    console.log(info.hobby);
    //枚举法读取数据
    console.log(info["name"]);
    console.log(info["age"]);
</script>

JS_09

 

 

 用枚举法读取数据时一定要注意用中括号将加了双引号的K括起来即可。

1.3、修改已有数据

概述:通过点语法或者枚举法修改数据中的V。

<script>
     var info = {
        "name" : "诸葛亮",
        "age"  : 12,
        "marray":true,
        "hobby":["吃饭","睡觉"]
    }
    //点语法和枚举法进行修改数据
    info.name = "刘备";
    info["age"] = 88;
    console.log(info);
</script> 

JS_09

添加数据:

<script>
      var info = {
        "name" : "诸葛亮",
        "age"  : 12,
        "marray":true,
        "hobby":["吃饭","睡觉"]
    }
    //用点语法或者枚举法动态的添加数据
    info.sex = "男";
    info["color"] = "yellow";
    console.log(info);
</script>

  JS_09

 

 

 总结:

点语法或者枚举法在没有当前这个K的时候,给JSON数据格式添加新的KV对

点语法或者枚举法在有这个K的时候,给JSON数据格式修改对应KV对中V的值。

二、正则表达式【RegExp】

2.1、定义与语法格式

概述:正则表达式是用于匹配字符串的一种模式、写法。正则表达式定义最常用的方法是字面量,写法//(定界符),也是引用类型的数据

<script>
    //正则表达式的写法
    var reg = /abc/;
    console.log(reg);
    //正则表达式的数据类型是Object
    console.log(typeof reg);
</script>

 JS_09

2.2、正则表达式结合字符串方法进行匹配

概述:正则表达式只能结合四个字符串方法进行使用,分别是split、match、search、replace

2.2.1、正则表达式结合split方法

<script>
    //split方法结合正则一起使用
    var str = "我很喜欢中国 上海     哈尔滨         北京";
    var arr = str.split(" ");
    console.log(arr);
    //在正则表达式中,\s代表的是一个空格,+:在正则当中代表的是量词,代表的含义是连续出现次数大于等于1的
    var arr1 = str.split(/\s/);
    var arr2 = str.split(/\s+/);
    console.log(arr1);
    console.log(arr2);
</script>

 JS_09

 

 2.2.2、正则表达式结合match方法

<script>
    var str = "我是中国人,我爱中国";
    //match可以结合正则一起使用,将所有符合条件的字符串匹配出来
    //在正则当中g可以将全部符合条件的字符全部匹配出来,修饰符只能放在右侧边界符
    var arr = str.match(/中国/);
    var arr1 = str.match(/中国/g);
    console.log(arr);
    console.log(arr1);
</script>

 JS_09

 

 2.2.3、正则表达式结合search方法

<script>
    var str = "今天天气出了大太阳,出太阳真的好热";
    console.log(str.search(/大太阳/));
    //search方法无论何时都只能获取到满足条件的第一个字符串的索引值,即使加修饰符g也不行
    console.log(str.search(/大太阳/g));
</script>

 JS_09

 

 2.2.4、正则表达式结合replace方法

<script>
    //replace:只能替换符合条件的第一个字符,后面符合条件的字符无法进行替换
    var str = "我喜欢张杰,因为张杰的歌曲很好听";
    var str1 = str.replace("张杰","汪峰");
    console.log(str1);
    //第一个/张杰/g不打双引号是因为他是正则表达式,不需要双引号。而第二个汪峰加双引号是因为他是replace的参数,而且该参数的值是字符串,因此需要加双引号
    var str2 = str.replace(/张杰/g,"汪峰");
    console.log(str2);
</script>

 JS_09

 

 总结:要结合字符串方法本身的特性和正则进行结合,比如split方法是按照符合条件的全部字符进行切割,在使用的时候就不需要加修饰符g,而match和replace只是针对符合条件的第一个字符进行操作,在需要全部进行相应的操作室就要在正则表达式后面加上修饰符g。

 2.3、正则表达式方法

exec:属于正则表达式方法,在目标字符串中进行一次匹配,返回一个新的数组,也只能匹配出第一个符合要求的字符串

<script>
    var str = "aaaabccccbacabc";
    var reg = /abc/;
    var arr = reg.exec(str);
    console.log(arr);
</script>

 JS_09

test:属于正则表达式方法,可以检测正则表达式当中的数据是否在目标字符串中出现,如果出现则返回布尔值真,否则返回布尔值假

<script>
    var str = "我很喜欢中         国";
    var reg = /\s+/;
    console.log(reg.test(str));
</script>

 JS_09

 

 这两个都是正则表达式的方法,使用时是正则表达式打点,传的是目标字符串。 

 2.4、字符集

简单类:任意多个字符进行集合书写,匹配某一个符合条件字符。(类比逻辑或运算)比如:[abc]

<script>
    //简单类:把多个字符聚集在一起进行匹配,只能匹配某一个符合条件的字符
    var str = "abc,bbc,cbc";
    var arr = str.match(/[ab]bc/g);
    console.log(arr);
</script>

 JS_09

 

 范围类:有时匹配的东西过多,而且类型相同,全部输入太麻烦,我们可以在中间加横线表示一个类别。比如:[0-9] [A-Z] [a-z]

<script>
    //匹配字符串里面的所有数字
    //范围类
    var str = "dhwqhjn12374821,asdw1231";
    var arr = str.match(/[0-9]+/g);
    console.log(arr);
</script>

JS_09

 

 组合类:把多个范围类放在一起进行匹配

<script>
    var str = "我知道A182,也知道b29";
    var arr = str.match(/[0-9A-Za-z]+/g);
    console.log(arr);
</script>

 JS_09

 

 2.5、修饰符

g修饰符:用于执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)

i修饰符:用于执行对大小写不敏感的匹配

<script>
    //修饰符书写位置在第二个定界符的右边
    //g修饰符:进行全局匹配
    var str = "http://www.baidu.com";
    var arr = str.match(/[a-z]+/g);
    console.log(arr);
    //i修饰符:进行忽略英文大小写匹配
    var str1 = "HTTp://wwW.Sina.CoM";
    var arr1 = str1.match(/[a-z]+/ig);
    console.log(arr1);
</script>

 JS_09

 

 在正则表达式当中,修饰符可以同时书写多个。

 2.6、边界符

^  开头  表示字符串必须以^后面的内容作为开头

$  结尾  表示$前面匹配的结果必须位于字符串最后

<script>
    //边界符^:代表的是字符串是以^后面的内容为开头的
    var str = "web是我要学习的知识";
    var reg = /^web/;
    console.log(reg.test(str));
    //边界符$:字符串是以$前面的内容作为结尾的
    var reg1 = /知识$/;
    console.log(reg1.test(str));
</script>

 JS_09

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

JS_09

上一篇:Mac 系统安装多版本 PHP,低版本 PHP


下一篇:CSS——(3)样式