JS中的“!!”
经常看到这样的例子:
var a;
var b=!!a;
a默认是undefined。!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断提供便利。
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;
因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型,类似的如:
a=parseInt(“1234″)
a=”1234″-0 //转换为数字
b=1234+”” //转换为字符串
c=someObject.toString() //将对象转换为字符串
其中第1种、第4种为显式转换,2、3为隐式转换
布尔型的转换,javascript约定规则为
false、undefinded、null、0、”” 为 false
true、1、”somestring”、[Object] 为 true
对null与undefined等其他用隐式转换的值,用!操作符时都会产生true的结果,所以用两个感叹号的作用就在于将这些值转换为“等价”的布尔值;
再来看看:
var foo;
alert(!foo);//undifined情况下,一个感叹号返回的是true;
alert(!goo);//null情况下,一个感叹号返回的也是true;
var o={flag:true};
var test=!!o.flag;//等效于var test=o.flag||false;
alert(test);
这段例子,演示了在undifined和null时,用一个感叹号返回的都是true,用两个感叹号返回的就是false,所以两个感叹号的作用就在于,如果明确设置了变量的值(非null/undifined/0/”“等值),结果就会根据变量的实际值来返回,如果没有设置,结果就会返回false。
相关推荐
这个名为"html_css_js_Help-documentation.zip_Help!_html"的压缩包显然包含了关于这些技术的中文帮助文档,特别是针对初学者或者需要快速查找信息的开发者设计的。 HTML(HyperText Markup Language)是网页内容的...
数字信号处理Javascript_dsp.js_Digital_Signal_Processing_for_Javascript_dsp.js.zip
3. JavaScript文件:可能是"login02_popup.js",用于处理弹窗的显示与隐藏逻辑,以及可能的表单验证功能。 4. 图片或其他媒体文件:如图标、背景图片等,用于提升登录界面的视觉效果。 在实际应用中,开发者需要将...
"这个资源可能是一个自定义的Web Inspector欢迎界面,包括一个JavaScript文件(WelcomeView.js)用于实现界面逻辑,以及一个可能与特定版本相关的脚本文件(7.5-7.js)。这个界面可能提供用户友好的引导,帮助他们更...
arcgis_js_v411_api ArcGIS API for JavaScript 4.11 To download and install the ArcGIS API for JavaScript and SDK navigate to the ArcGIS API for JavaScript download page and log-in with your Esri global...
JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,能够对用户交互进行实时响应,实现动态内容更新。在“JS_js_”这个压缩包中,我们可以推测它包含了一些用于教学或练习的JavaScript代码...
_React_foundwma_mother864_react do"提到了几个关键元素,首先,“foot-goal-master”可能是一个项目的名字,暗示着这个压缩包包含了与足球或目标相关的Web应用程序源代码。"Goal!"可能是应用的核心功能,比如一个...
这个里面存放的是省市区的代码,用于省市区三级联动,value是省市区的区行政代码,希望对你有用!
在本文中,我们将深入探讨Discord.js库、JavaScript编程、以及如何构建和维护一个Discord机器人。 首先,让我们了解**Discord.js**。这是一个流行的Node.js库,用于与Discord API交互,允许开发者创建自定义的...
WT-JS_DEBUG V1.8.3 JAVASCRIPT 调试工具,逆向工程
### 完美的JS验证网址URL:正则表达式详解 #### 一、引言 在Web开发中,经常需要对用户输入的URL进行合法性验证,确保其格式正确无误。本篇文章将详细介绍一种较为完善的JavaScript URL验证方法及其背后的正则...
ArcGIS api for JavaScript官方sdk离线帮助文档3.16版本 arcgis_js_v316_sdk.zip MD5: 9a839a49d41940871c2ae7e9fcef2c1c
face++人脸识别Javascript SDK包。
arcgis_js_v27__api
arcgis web 开发 JavaScript 接口 2.2版本 也可在ArcGIS API For JavaScript 官方下载 https://developers.arcgis.com/sign-in?redirect_uri=/downloads/apis-and-sdks?product=javascript
js_table分页,利用js分页 比较简单一些吧!!不用再用sql查询出来分页,但是缺点是影响性能!
使用three.js_tween.ts搭建的地铁门3D模型,在html中引入了javascript代_3DSubwayDoor
JavaScript应用实例-趣头条.js_encrypt.js
在JavaScript中,Base64的加密与解密是前端开发中的常见需求,尤其在处理图像、JSON数据或者进行跨域通信时。本文将深入探讨JavaScript中的Base64原理及其在前端应用。 一、Base64编码原理 Base64编码将每3个8位...