优雅的写法

1.js利用 && 和 || 赋值小技巧---就是if-> 值用&&,else用||,if中内容多的写到括号里。

//demo1
    var b;

    if(b != null){
       b = b;
    }else {
       b = 2;
    }

    var c = c || 2; 

//demo2
    var b;

    if(b){
        b = 1;
    }else {
        b = 2;
    }

    var c = (c && 1) || 2;

//demo3
    var b;

    if(2 > 1){
        b = 1;
    }else if((1 == 1 || 1 == 2) && 3 == 3){
        b = 2;
    }else {
        b = 3;
    }

    var c = ((2 > 1) && 1) || (((1 == 1 || 1 == 2) && 3 == 3) && 2) || 3;

2.定义模版字符串不仅可以用+拼接了,还可以用反引号` `包括,${}包含变量。用反引号还可以换行,以前换行要每行用+号拼接,里面还可以用换行符\n。

 var name = `Your name is ${first} ${last}. `;

3.判空改用||竖直线:比如

${this.count||null}

<div>{{item.count>0?item.count:'0'}}</div>   换成   <div>{{item.count||0}}</div>

   但是如果是三目运算的第一目和第二目类型不一致的话,还是建议用三目的写法,例如:

   dir?dir.toString():''

4.去除最后一个逗号

     应用场景:有时候需要在循环里面  用逗号拼接变量得到一个字符串,那么最后一个逗号会显得多余

     用正则去除最后一个逗号:str.replace(/,$/,'')

5.用replace方法去掉一个数字的千分符的时候,遇到只能去掉第一个的问题,解决办法:

         方法一:切割逗号再拼接:str.split(",").join("")                      方法二:用正则:str.replace(/,/g,"")

6.判断一个变量是否是数组:Array.isArray(val)

7.debounce写法:

private timeout:number;//防抖定时器
private debounce(callback,wait):void {
   if(this.timeout) {
       clearTimeout(this.timeout);
   }
   this.timeout = <any>setTimeout(callback,wait);
}
//点击搜索框
private clickSearch():void {
   this.debounce(()=>{
        this.queryData();//调用后端接口查询数据
   },0);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值