JavaScript实用方法汇总

正则

1. 删除字符串末尾0

var str = "0043003300";
str.replace(/(0+)$/g,"0"); //删除一个0,把+去掉
//结果 00430033

2. 删除字符串头部0

var str = "0043003300";
str.replace(/\b(0+)/g,""); //删除一个0,把+去掉
//结果 43003300
// \b是退格符

3. 删除字符串所有0

var str = "0043003300";
str.replace(/(0+)?/g,"");
//或
str.replace(/0/g,"");
//结果 4333

Object

1. toString.call()

在JS使用typeof或是instanceof来判断类型是非常有局限性的,因为它不能区别数组和对象

其实数组也属于对象,所以我们可以借助Object原型来判断类型

使用toString.call()

toString.call([2]); //[Object Array]
toString.call(null); //[Object Null]
...

其实质上是

Object.prototype.toString.call([2]);

所以我们可以写一个方法来判断数据类型

function isType(type){
    return function(obj) {
        return {}.toString.call(obj) == "[object " + type + "]";
    }
}
isType("Array")([2]); //true

提高优雅性

在js中,对于if条件的多判断会显得很长,降低代码美观性,但是很多方法可以提高代码优雅性

1. if或条件使用includes()

if(x === "a" || x === "b"){}

可以写成

if(['a', 'b'].includes(x)){}

2. if(boolean) else{}使用三目运算符

var b = true;
var s;
if(b){
    s = "1";
}else{
    s = "2";
}

可以写成

var b = true;
var s = b ? "1" : "2";

3. if判断为空赋值

var a = "1";
var b;
if(a === null || a === undefined){
    b = "";
}else{
    b = a;
}

可以写成

var a = "1";
var b = a || "";

4. 迭代

对于数组,json等对象往往需要对其元素进行遍历,一般为获取长度后for循环,但可以写成以下方式

var a = ["a", "b", "c"];
for(item in a){
    console.log(item); // 这是下标/键值
    console.log(a[item]); // 这是值
}

如果只获取值的话还有一种方法,但是这种方法只对Array,Map,Set,String等有用,对json无效

var a = ["a", "b", "c"];
for(item of a){
    console.log(item); // 这是值
}

持续更新中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

会功夫的李白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值