组件样式模板,事件委托,自定义事件,Promise,正则表达式

原则

1,对内:封闭。方法划分的细一些,

2,对外,开放。提供Api和方法,配置

步骤:1,封装js

调用用配置:配置---合并配置----解构赋值

  //封装的js
    class Dalilog {
        constructor(options){
            //合并配置
            1,方式一,解构赋值
            // let {width="100px",title="默认标题",content="默认内容"} = options
            // console.log(content,width)
        }
    }

    //调用
    new Dalilog({
        width:"30%",
        title:"测试胞体"
    })

        2,Object.assign() 

Object.assign(arg1,arg2),arg1目标对象,arg2源对象
合并,arg2中有的对象,会覆盖掉arg1,否则用arg1

 //方式2,Object.assign(arg1,arg2),arg1目标对象,arg2源对象
            //合并,arg2中有的对象,会覆盖掉arg1,否则用arg1
            let opts = Object.assign({
                width:"100px",
                title:"默认标题",
                content:"默认内容",
                height:"250px",
                dragabel:true,//是否可拖拽
                maskbale:true,//是否有遮罩
                isCancel:false//是否有取消
            },options)

            console.log(opts)
        }
    }

    //调用
    new Dalilog({
        width:"40%",
        title:"客户输入"
    })

2,调用,传入配置

3, 事件委托

 把点击时间移到最外层,然后用switch case来判断,是哪个样式点击的

4,自定义事件

5,Promise

三种状态:pending、resolved、rejected---reject抛出错误

//提供方法:then:  then:接收两个参数 onresolved,onrejected

三种返还值p.then(function(res){},function(err){})

1.then的回调 不返回,默认不返还、resolved状态的Promised对象

2,返回非Promise对象,默认返还promise对象,会把返回值作为参数保存起来

3,直接return Promise对象

6,async和await

异步函数,同步写法

await后面一定要是一个Promise对象

Promise的方法:Promise.resolve帮你返还状态为resolved的Promise的对象

Promise.reject帮你返还状态为rejected的Promise的对象

Promise.all([p1,p2,p3]) 把多个对象同时执行,一次性执行所有,所有结果放在then中

Promise.race([p1,p2,p3]).then(res=>{

        //谁执行的快,拿到最快的结果

})

7,字符串的方法

search :匹配第一个符合结果的索引值位置;如果找不到,就返还-1;忽略全部匹配

8,元字符

正则中有特殊含义的非字母字符;

// . * (0次或者多次)+ (1次或多次)?(0次或者1次) $ ^ | \ {} [];

. 匹配除了\n \r (换行回车), \u2028或 、\u2029 以外的所有字符

// \转义,将特殊含义转变成字变量含义

[] 字符集合  [ab]   a或者b  /[^ab]/g 除了ab

^开头        $结尾

\w数字,字母,下划线

\d 数字 [0-9]+ 等同于\d

. =====>[^\r\n]

\d======>[0-9]

\w ======>[a-zA-Z_0-9]

边界符:\b 非\w都称为边界

():分组

{3}指定数量

?0次到1次  ?===>{0,1}

+一次到多次 + ====>{1,}

*0次到多次  * =====> {0,}

反向引用

let mytime = "2019-10-19"
let reg = /(\d{4}})-(\d{1,2})-(\d{1,2})/g
let res  = mytime.replace(reg,"$3/$2/$1")

匹配模式:

g全局匹配

i忽略大小写

m多行模式

s可以配置换行

u是否皮质Unicode编码

y粘性模式 索引都连续

正则使用工具  regexper.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值