关于javascript:使用-进行骚操作

33次阅读

共计 1126 个字符,预计需要花费 3 分钟才能阅读完成。

说起强制类型转换,大家能想起什么?但这篇文章不是只有强类型转换这样简略哟,它会让你开发另一种思路!

应用强制类型转换(type casting)解决转换值的类型。应用强制类型转换能够拜访特定的值,即便它是另一种类型的。

  • Boolean(val) 转换成 Boolea
  • Number(val) 转换成数字
  • String(val) 转换成字符

以上三种很相熟吧?在 js 中,将某值强制类型转换成布尔值当然能够应用 Boolean() 这种办法。须要用到布尔转换的中央还是很多的,但你要用这种办法吗?

其实还有一种办法,大家很少接触,就是!! 你没看错,就是两个叹号。利用两个 ’!!’ 运算符来将一个值转换为布尔类型,要比 Boolean() 简略不少吧。

!!1 //true
!!0 //false
!!'' //false
!!'a' //true
!!null //false
!!{} //true
!![] //true  

为什么能够这样做呢?其实剖析起来情理很简略。第一个 ’!’ 将值转换成布尔值并取其值的非值,第二个 ’!’ 将其布尔值还原,相似于“负负得正”的情理。咱们看个例子吧:

以上就是双叹号的用法,当然不止!!,还有 && 和 || 能够做判断应用。大家必定晓得这两点一个代表逻辑与一个代表逻辑或。那么怎么应用呢?应用赋值语句将多个值用 && 和 || 相连。

var a = 'a' && 0;a //0  逐个检索 && 相连的值,遇到第一个 false 值就将该值赋值给变量 
var a = 'a' && 1;  // 如果逐个检测没有 false 的值,就取最初一个值赋值给变量
var a = '' || 1;  // 逐个检索到第一个 true 值,间接复制给变量
var a = '' || 0; // 逐个检测如都是 false 值就取最初一个赋值给变量 

这波操作尽管让咱们眼前一亮,但在哪里用失去呢?咱们先看个简略的函数,能不能懂,缓缓看别着急。
应用 || 能够用于参数传递中。在封装某个函数的时候,传递的参数可能有,可能没有,这种状况就能够应用 || 解决。

function test(arr) {arr = arr || [];return arr;}
test([1,2,3])
test()

如果参数有数组,当然参数就是它本人。如果没有传参数或者传的是 null 或者 undefined 之类会转换为 false 的值,就在函数传递参数时做非空补充,防止在参数应用时呈现问题。

那么 && 在实 开发中哪里能够用到呢?举个例子吧!比方判断某个值后如果是 false 就执行回调函数。

 function aaa(isOk,callBack) {isOk && callBack()};
 aaa(1,function(){console.log('haha')});

以上就是想分享的内容啦!

也心愿大家能关注我的公众号 web-jianma,手机浏览随时随地~

正文完
 0