关闭

js中!!的使用与理解

时间: 2019-01-24阅读: 792标签: 数据

!!一般用来将后面的表达式转换为布尔型的数据(boolean), 因为JavaScript是弱类型的语言(变量没有固定的数据类型),所以有时需要强制转换为相应的类型  。

这里提到类型转换不得不提两个概念:显式转换和隐式转化。  


显式转化:

const a = parseInt(‘1111111111111’); 
const b = Obj.toString();


隐式转化: 

布尔型的转换,JavaScript约定和c类似,规则为 ·

false、undefinded、null、0、"" 为 false 
true、1、"somestring"、[Object] 为 true  

实例:

var a = '111'+0;//a的结果为数值型;
var b = 111+'';//b的结果为字符串类型;


返回到 !!()

如:a默认是undefined,!a是true,!!a则是false,所以b的值是false,而不再是undefined。这样写可以方便后续判断使用。

所以,!!(a)的作用是将a强制转换为布尔型(boolean)。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1882

关闭

js算法_判断数字是否为素数/质数

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。比如100以内共25个,js实现代码如下。

vue页面刷新时store中数据丢失

当页面刷新时,vue实例重新加载,所以store也会被重置。监听 beforeunload 让页面在刷新前将数据存到 sessionStorage 中,在页面刷新时,读取 sessionStorage 中的数据到 store 中。

JS最新基本数据类型:BigInt

BigInt数据类型的目的是比Number数据类型支持的范围更大的整数值。在对大整数执行数学运算时,以任意精度表示整数的能力尤为重要。使用BigInt,整数溢出将不再是问题。

处理 JavaScript 中的非预期数据

动态类型语言的最大问题就是无法保证数据流总是正确的,因为我们无法“强行控制”一个参数或变量,比方说,让它不为 null。当我们面对这些情况时的标准做法是简单地做一个判断:这样做的问题在于会污染我们的代码

进制转换_二进制、八进制和十六进制数之间的转换

在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。对于进制,有两个基本的概念:基数和运算规则。

nodejs接收前端formData数据

很多时候需要利用formdata数据格式进行前后端交互。前端代码可以是如下所示:上面代码不仅有直接生成的formdata数据,还有利用append添加的。后端应该怎么接收?

原生JS数据绑定的实现

双向数据绑定是非常重要的特性 —— 将JS模型与HTML视图对应,能减少模板编译时间同时提高用户体验。我们将学习在不使用框架的情况下,使用原生JS实现双向绑定 —— 一种为Object.observe

node.js同步调用获取mysql数据时遇到的大坑

mysql调用获取数据,只能是异步方式返回结果,不能同步获取结果,因此,须在回调函数中编写处理事件。期间看了下Aysnc.js,是用于多个要返回回调函数的事件,将这些事件有序的组织起来,最后只返回一个回调函数,并没有改变异步的本质,而是将多个异步整合为一个异步,从而满足写程序的需求。

如何在Vue中使用clipboard.js复制服务端数据?

第一步 创建点击对象页面元素,并绑定业务数据。第二步 引入clipboard.js。第三步 创建ClipboardJS对象实例。第四步:替换clipboard对象实例的默认的onClick事件。

常见的Hadoop十大应用误解

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。 充分利用集群的威力进行高速运算和存储。 以下是常见的Hadoop十大应用误解和正解。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!