Javascript两个感叹号的用法(!!)

var foo;
alert(!foo);//undefind情况下或者null,一个感叹号返回的是true;
alert(!goo);//undefind情况下,一个感叹号返回的也是true;  但是这里会报undefind的错误
var o={flag:true};
var test=!!o.flag;//等效于var test=o.flag||false;
alert(test);  //返回true
var test2=!!o.flag1;//当里面没有对象时
alert(test2);//返回false
var test3=!!b.flag;//当连b这个对象都没有时
alert(test3);//返回false

所以可以发现,!!两个感叹号多用于判断对象的存在。

时间: 2024-12-25 08:53:18

Javascript两个感叹号的用法(!!)的相关文章

js中两个感叹号的原理与用法分析

在读underscore源码过程种碰到一时想不起来,问了一下百度mark下备份~~~~ 在javascript中有时会看到有两个!!的用法 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); 这段例子,演示了在und

javascript中的感叹号 "!"

JavaScript中会经常遇到一个操作符:! 这是一个布尔操作符,用于将操作的值强制转换为布尔值并取反.常用场景如下: //条件判断中使用 var a; var b=null; if(!a){ console.log("a是假的"); } if(!b){ console.log("b是假的"); } //操作布尔值 var c = false; var d = !c;//d === true; //IIFE(自执行函数.立即执行函数:Immediately-Inv

【JavaScript】Javascript中document.execCommand()的用法

Javascript中document.execCommand()的用法 合并转载: 转载出处1 转载出处2 document.execCommand()方法处理Html数据时常用语法格式如下:document.execCommand(sCommand[,交互方式, 动态参数]) 其中:sCommand为指令参数(如下例中的"2D-Position"),交互方式参数如果是true的话将显示对话框,如果为false的话,则不显示对话框(下例中的"false"即表示不显

Eclipse中SVN的安装步骤(两种)和用法

一.给安装EclipseSVN,最常见的有两种方式:手动方式和使用安装向导方式.详细过程例如以下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org2.从中解压出features与plugins目录,拷贝到E:/MyEclipse/myPlugin/svn里面,其他的*.xml文件不要.3.在E:/MyEclipse/MyEclipse X.X/dropins下新建文件svn.link,内容是:path=E://MyEclipse

Javascript中的感叹号和函数function

js函数前加分号和感叹号是什么意思?有什么用?:http://www.cnblogs.com/mq0036/p/4605255.html function与感叹号:https://swordair.com/function-and-exclamation-mark/ javascript中的感叹号 "!" : http://www.cnblogs.com/pelli/p/5889813.html function fnA(){alert('msg');}//声明式定义函数var fnB

javascript两种定时器的使用及其清除

<!--示例代码如下:--><!DOCTYPE html> <html> <body> <p>A script on this page starts this clock:</p> <p id="demo"></p> <input type="button" value="停止" onclick="abc()"/> &

20140806 交换两个数 extern &ldquo;C&rdquo;用法

1.交换两个数 方法1.a+b有可能越界 a=a+b; b=a-b; a=a-b; 方法二.不会越界 a=a^b b=a^b; a=a^b;   2.extern "C"用法 ( 自己总结: 1.C++语言引用C语言函数时(void fun(int a,int b),void fun(int a,float b)),由于C++有重载功能,编译器按C++的方式编译该函数后产生的名字五花八门(_fun_int_int和_fun_int_float). 2.而被调用的c语言函数库,或者.c文

isset 和empty 两个函数的用法

关于用php 获取当前脚本的url很多朋友会说很简单,但是要获取很详细的就要经过多次判断哦. $PHP_TIME = time();$PHP_SELF = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : (isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : $_SERVER['ORIG_PATH_INFO']);/**获取当前运行的脚本名: 刚开始看是不是有点乱呢. 咋没用

javaScript中有关正则表达式的用法总结

js中处理正则表达式的类:RegExp 用法: var reg=new RegExp("express"); 或者: var reg=/express/; js中常用的6个方法: test():是否存在 exec():返回查询值 match():得到查询的数组 search():返回搜索的位置 replace():替换 split():分割成数组 这些方法,里面的参数都是正则表达式. js中常用的4大类: 简单类.负向类.组合类.范围类. 简单类:/[123]qqqq/gi:表示开头必