正则的语法 闭包 JSON 回调函数

**创建一个函数,用来检查一个字符串是否是回文(用两种方式来解决)
一个字符串从前往后读 和从后往前读是一样的,那么它就是回文
abcba
如果字符串两头的字符相等,且中间的字符串是个回文,这个字符串就是回文

  • aa相等 且bcb是回文
    -** 在这里插入图片描述
    在这里插入图片描述
    2.正则语法:
    . 表示任意字符
    * - 在正则表达式中,使用\作为转义字符
    * . --> .
    * \w 任意的单词字符,相当于 [A-Za-z0-9_]
    * \W 除了单词字符,相当于 [^A-Za-z0-9_]
    * \d 任意数字 [0-9]
    * \D 除了数字 [^0-9]
    * \b 单词边界
    * \B 除了单词边界
    * \s 空格
    * \S 除了空格

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3.正则的字符串语法使用:

search()
* - 可以去字符串中搜索指定的内容
* - 该方法可以传递一个正则表达式,
* 可以检查字符串中是否含有符合正则表 达式的内容
*
* - 返回值:
* 返回第一个符合条件的内容的索引
* 如果没有,返回-1

在这里插入图片描述
split()
- 用来将一个字符串拆分一个数组
- 可以根据正则表达式去拆字符串

在这里插入图片描述
replace()
* - 用来使用新的内容替换字符串中旧内容
* - 参数:
* 1.被替换的内容(支持正则表达式)
* 2.新的内容
* - 注意:
* 默认情况下,replace()只会替换第一个符合条件的内容,
* 如果希望替换所有的内容,则需要使用匹配模式 g

在这里插入图片描述
match()
* - 可以将字符串中符合正则表达式的内容提取出来
* - 它会将匹配到的结果保存到一个数组中返回

在这里插入图片描述
3. JSON
**JSON(JavaScript Object Notation)
* - JS对象表示法
* - JSON实际上就是一个字符串,
* 它有一个特殊的格式(格式类似于JS对象)
* - 使用JSON格式表示的数据,可以转换位任何语言中的对象,
* 从而达到数据交换的目的
*
*
* - JSON的格式:
* 1.JSON的格式和JS对象基本是一样的
* 不同点在于JSON的属性名,必须加双引号
* 字符串也必须使用双引号,不能使用单引号
* 2.JSON中支持的数据类型
* 1. 字符串(string)
* 2. 数值(number)
* 3. 布尔值(boolean)
* 4. 空值(null)
* 5. 对象(object)
* 6. 数组(array)
*
* 3.JSON的形式:
* JSON对象
* {
*
* }
*
* JSON数组
* [
*
* ]
*

    JSON
        - 用来操作JSON
        - 将JS对象转换位JSON字符串
            JSON.stringify(js对象)
                - 将一个js对象转换为一个JSON字符串
        - 将JSON字符串转换位JS对象
            JSON.parse(json串)
                - 将一个JSON转换为js对象**

在这里插入图片描述
4.闭包

闭包就是能访问到外部函数变量的内部函数
* - 闭包可以用来将一些不愿意被别人访问的变量藏起来
* - 闭包构成的要件:
* 1.必须有函数的嵌套
* 2.内部函数要引用外部函数中的变量
* 3.必须将内部函数作为返回值返回
*
* - 闭包的生命周期
* 闭包在外部函数调用时创建,
* 调用一次就产生一个
* 闭包在内部函数被垃圾回收时销毁

在这里插入图片描述
5.箭头函数

  • 语法:
    * 形参 => 返回值
    *
    * (参数1,参数2) => 返回值
    *
    * 形参 => {
    * 语句…
    * return 值;
    * }
    *
    * this到底是谁?
    * 根据函数调用的方式不同,this的值也不同:
    * 1.以函数的形式调用,this是window
    * 2.以方法的形式调用,this是调用方法的对象
    * 3.以构造函数的形式调用,this是新创建的对象
    * 4.以call和apply调用,this是它们的第一个参数
    * 5.箭头函数的this,由外层作用域决定

在这里插入图片描述
在这里插入图片描述
6.let补充
1.let不能重复声明变量 var可以
* 2.let不能在初始化前访问变量 var可以
* 3.var声明的全局变量会添加到window对象中,let不会
* 4.let声明的变量有块作用域 var没有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路冲冲冲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值