关闭

js中!!的使用与理解

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

!!一般用来将后面的表达式转换为布尔型的数据(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

mysql大批量插入数据四种方法

循环插入这个也是最普通的方式,如果数据量不是很大;减少连接资源,拼接一条sql;使用存储过程;使用MYSQL LOCAL_INFILE,数据实在太大也涉及分库分表了,或者使用队列插入了。

Vue项目中Api的组织和返回数据处理

项目中的所有Api配置放在一个文件中,便于查找和修改,Api的版本从配置文件(config.js)中读取,采用apiPrefix + url的形式组成。在配置文件中,Api 的配置采用Http请求方式 url的方式

node post 大数据无响应超时

使用 express 框架,post 较大数据量(富文本,里面包含了图片base64数据,大约300k)时,node 无响应,把数据内容减少后能顺利提交。是因为数据量大过body post 的限制导致不能提交。

使用Proxy实现双向绑定

vue3.0要用Proxy来实现双向绑定,因此先来尝试一下实现方法。原来vue2的实现使用Object.defineProperty,监听set,但对于数组直接下标给数组设置值监听不了。

google protobuf 数据类型_理解Protobuf数据格式解析

什么是protobuf?Protobuf是Google开源的一款类似于Json,XML数据交换格式,其内部数据是纯二进制格式。这篇文章主要介绍google protobuf的特点与使用

ES6中的Set数据结构以及使用使用场景

Set 是ES6提供的一种新的数据结构,它允许你存储任何类型的唯一值,而且Set中的元素是唯一的。我们用new操作符来生成一个Set对象,set结构的实例有以下属性

Js栈的实现与应用

在计算机编程中,栈是一种很常见的数据结构,它遵从后进先出(LIFO——Last In First Out)原则,新添加或待删除的元素保存在栈的同一端,称作栈顶,另一端称作栈底。在栈中,新元素总是靠近栈顶,而旧元素总是接近栈底

html页面加载海量数据的实现

页面上有个空的无序列表节点 ul ,其 id 为 list-with-big-data ,现需要往列表插入 10w 个 li ,每个列表项的文本内容可自行定义,且要求当每个 li 被单击时,通过 alert 显示列表项内的文本内容。

js判断数字是奇数还是偶数的2种方法实现

奇数和偶数的判断是数学运算中经常碰到的问题,这篇文章主要讲解通过JavaScript来实现奇偶数的判断。2种判断方法:求余% 、&1

在 JavaScript 中优雅的提取循环内的数据

在本文中,我们将介绍两种提取循环内数据的方法:内部迭代和外部迭代。内部迭代:提取循环内数据的第一个方法是内部迭代,内部迭代的替代方案是外部迭代:我们实现了一个iterable

点击更多...

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