js编码的实用技巧(一)

1、 利用+、-、/1,*1将字符串转换为整数型

这个方法试用于将字符串类型的数字转换为整数型,如果带字母就会返回NaN。

var a = "1234", b = "leonWuv";
//我们想把a转换为1234的整数型,一般方法
console.log(typeof Number(a))  //number
//简单写法
console.log(+a + 1,typeof +a);  //1235 number
console.log(a - 0 + 1,typeof (a-0)); //1235 number
console.log(a*1 + 1,typeof (a*1));  //1235 number
console.log(a/1 + 1,typeof (a/1));  //1235 number
console.log(b/1 + 1,typeof (b/1));  //NaN number
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这个也是用于 Date();它将返回时间戳

//以下方法都返回时间戳
console.log(+ new Date()); //1512378253218  2017年12月04日17时左右;
console.log(Date.parse(new Date())); //1512378253000  注意后三位向下取整为000;
console.log(new Date("2017/1/1").getTime()); 1483200000000
 
 
  • 1
  • 2
  • 3
  • 4
2、利用!!强制转换布尔值

我们需要验证一个变量是否存在或者有效时,可以使用!!来简单快速的判断

这个技巧我在 javaScript数据类型你都弄明白了吗?绝对干货这篇博文中的第四部分提到过

总结一下就是:只要变量的值为:0、null、” “、undefined或者NaN都将返回的是false,反之返回的是true。看下面例子

var a = 0,b = "12";
console.log(!!c); //false
// 分解上面的代码--Boolean(c)得false,取非为true,再取非为falseconsole.log(!!d)  //true
// 分解上面的代码--Boolean(d)true,取非为false,再取非为true
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
3、在遍历数组时,缓存数组的length

在处理一个数组循环时,我们好多人通常会这么写

for(var i = 0; i < array.length; i++) {
    console.log(array[i]);
}
 
 
  • 1
  • 2
  • 3

当我们遍历一个小型数组时,这样写是可以的,但是当我们处理一个大型数组时,这样写就会每次循环都计算数组的长度,会有延误,这时我们可以这样写

var length = array.length;
for(var i = 0; i < length; i++) {
    console.log(array[i]);
}
 
 
  • 1
  • 2
  • 3
  • 4

当然我们也可以这样写,这两种方式都是可以的

for(var i = 0, length = array.length; i < length; i++) {
    console.log(array[i]);
}
 
 
  • 1
  • 2
  • 3
4、合理利用&&运算符

看看这段代码

if(a){
    console.log("hello leonWu");
    //解释一下这段代码,如果Boolean(a)为true,就打印出hello leonWu
}
 
 
  • 1
  • 2
  • 3
  • 4

我们稍微修改一下上面的代码

a && console.log("hello leonWu"); //结果是一样的,但是这样是不是简单清晰多了,代码量也少了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值