js高级

浅拷贝:拷贝就是复制,就相当于把一个对象中所有的内容,直接复制一份,或者是将这个对象的地址给另一个对象,他们的指向是相同,两个对象之间有共同的属性和方法

函数封装:浅拷贝,把一个对象中的属性全部复制到另一个对象中

深拷贝:拷贝还是复制的意思,深,把对象中所有的属性和方法,一个一个的找到,并且在另一个对象中开辟相应的空间,一个一个的存储到另一个对象中【深拷贝:浅拷贝+递归来实现】

正则表达式:也叫规则表达式,按照一定的规矩组成一个表达式,这个表达式的作用主要是匹配字符串的

正则表达式的组成:由元字符或者限定符组成的一个式子【作用:匹配字符串】

写正则表达式:根据字符串来写正则表达式进行匹配【①找规律,②不要追求完美】

创建正则表达式对象:/元字符或者限定符/

1. 通过构造函数创建对象

2. 字面量方式创建对象

 

 

 

 ①元字符:
   . 表示除了换行符以外的任意一个字符  "fd大三的2323,、,、"
    [] 表示范围:
    [0-9]:表示0到9之间任意一个数字   "2324"
    [a-z]:表示a到z之间任意一个字母
    [A-Z]:表示A到Z之间的任意一个字母
    [a-zA-Z]:表示所有的字母中的任意一个
    [0-9a-zA-z]:表示所有的数字和字母中的任意一个  "dfd3434"
    [3-6]:表示3到6之间任意一个数字
    另一个含义:把正则表达式中的元字符的意义取消掉
     [.]:表示一个.
     | 或者
     [0-9]|[a-z]:要么是一个数字,要么是一个小写的字母
     () 分组 一般用于提升优先级
     [0-9]|([a-z])|[A-Z]
     ([0-9])|([1-7])|([a-z]):三个组,从左往右开始计算


        ②元字符,或者叫限定符
      * 表示前面的表达式出现了0次或者多次
       [a-z][0-9]* 任意的一个小写字母,后面要么是0个数字,要么是多个数字
      + 表示前面的表达式出现了1次或者多次
[a-z][0-9]+ 任意一个小写字母,后面至少出现一个数字

? 表示前面的表达式出现0次到1次,最少出现0次,最多出现1次,另一个含义:阻止贪婪模式
[9][a-z]? "349aaa" "9"

③限定符:限定表达式出现的次数
  {0,}: 表示前面表达式出现了0次或者多次 和 *  一样
 {1,}: 表示前面的表达式出现了1次或者多次  和 +  一样   [a-z][3-5]{1,}  "fsfs344777"
 {0,1}:表示前面的表达式出现了0次或者1次   和? 一样
 {1,9}:表示前面的表达式出现了1次至9次
 {4}:前面的表达式必须出现4次
{,10}-----错误的,不能这样写
    
 ^ 表示以什么开始,或者取反
 ^[0-9]:表示以数字开头
 ^[a-z]:表示以小写字母开头
 [^a-z]:表示非小写字母
 [^0-9a-zA-Z]:非数字小写字母大写字母
$ 表示以什么结束
[0-9][a-z]$:表示一定要以小写字母结尾   "8080dfdf"
 ^[0-9][a-z]相当于严格模式  "3f343e"


   \d :任意一个数字  [0-9]
   \D :任意非数字  字母,特殊符号
    \s :空白符
    \S :非空白符
     \w :非特殊符号   字母数字下划线[a-zA-Z0-9_]
     \W :特殊符号 !$#%$%&^
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值