javascript它是弱类型语言,不管是什么类型的数据可以被转换成boolean种类。转换规则如下面的:

数据类型                 转换为boolean后的值

NAN                        FALSE

null                          FALSE

undefined                FALSE

Object                     TRUE

Function                  TRUE

0                              FALSE 

非零的数字              TRUE

""(空字符串)             FALSE

非空字符串              TRUE

知道这个转换规则,主要是为了学习逻辑运算符 && 和 ||。

在Java中。逻辑运算符只适用于boolean类型。返回结果也一定是boolean类型。

可是在javascript中逻辑运算符能够返回不论什么类型的数据,不不过true和false

非常多JS框架如JQuery中。都有例如以下形式的代码,这样的写法非常简洁,但前提是你要明确这样的写法究竟返回什么。

var target = arguments[0] || {}

&&和||的运算规则例如以下:

a && b : 将a, b转换为Boolean类型, 再运行逻辑与, 假设结果是true返回b, false返回a

a || b :    将a, b转换为Boolean类型, 再运行逻辑或, 假设结果是true返回a, false返回b

版权声明:本文博主原创文章,博客,未经同意不得转载。

javascript于boolean类型转换,运营商&&和|| 返回值的更多相关文章

  1. void in javascript是一个指定要计算表达式但不返回值的运算符

    void in javascript是一个指定要计算表达式但不返回值的运算符.void运算符使用格式如下:1.javascript:void(表达式)2.javascript:void表达式表达式是要 ...

  2. Javascript 获取客户端的运营商 IP 地址 等

    客户端获取运营商 会弹出安全隐患问题,需要修改IE activx 选项, 非常麻烦,用我的代码可以轻松获取. <script src="JS/jquery-1.4.1.js" ...

  3. javascript中boolean类型和其他类型的转换

    在javascript中,if语句括号中的表达式返回值可以是任何类型,即:if(a)中的a可以是boolean.number.string.object.function.undefined中的任何类 ...

  4. 使用 CoreTelephony 框架获取当前网络运营商

    CoreTelephony 获取运营商信息,需通过 CoreTelephony.Framework 中的 CTTelephonyNetworkInfo 和 CTCarrier 对象获取,这些都在iOS ...

  5. javascript设计模式和构造函数返回值

    工厂模式 function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; o.job = ...

  6. 【你不知道的javaScript 中卷 笔记2】javaScript中的类型转换

    1.1 对象内部属性 [[Class]] 常见的原生函数: String() Number() Boolean() Array() Object() Function() RegExp() Date( ...

  7. JavaScript中数据类型转换总结

    JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...

  8. CSP -- 运营商内容劫持(广告)的终结者

    缘由 我们公司最近手机端H5 经常受到商户和用户的投诉,说有广告并且导致不能正常进行操作,我们商户自己当然不会加广告了,但是商户和用户可不管这些了,就认为是我们的问题 探索发现根本 目前我们用的很多浏 ...

  9. JavaScript中的类型转换(一)

    前言 JavaScript是一种非常灵活的弱类型的语言,它的灵活性的一方面体现在其繁杂多样的类型转换.比如当JavaScript期望使用一个布尔值的时候(比如if语句中)你可以提供任一类型的值,Jav ...

随机推荐

  1. My Emacs For Common Lisp

    My Emacs For Common Lisp My Emacs For Common Lisp

  2. UpdataData

    MFC中有一个UpdataData函数,有二个参数:TRUE和FLASE,二个参数什么时候用, 开始的时候我也迷糊,后来才发现: UpdataData(TRUE):是把控件上的值刷新到变量中: Upd ...

  3. 14.3.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁

    14.3.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁 这个章节建立关于死锁的概念信息,它解释如何组织数据库操作来减少死锁和随后的错误处理: D ...

  4. ZOJ 1171 Sorting the Photos

    1. 题目描述 给你一叠照片,有的正面朝上,有的反面朝上,朝上的用字母U,朝下的用字母D 可以从一个位置开始到最顶端,把这一叠拿出来,反转,然后再放回那一叠照片上面. 试求出最少的翻转次数,使所有的照 ...

  5. 如何搭建NTP服务(转)

    最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名.IP管理,NTP用于时间同步.其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律.用得越频 ...

  6. HDU 4611 Balls Rearrangement (数学-思维逻辑题)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4611 题意:给你一个N.A.B,要你求 AC代码: #include <iostream> ...

  7. 登录RMAN 报告ORA-12162:TNS:net service name is incorrectly specified错

    登录RMAN 报告ORA-12162:TNS:net service name is incorrectly specified错 [oracle@localhost admin]$ date Tue ...

  8. Ctrl-A全选

    Ctrl-A全选这点事(C#,WinForm)   所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便.Windows的软件基本都是这样.可为什么我们自己制作的WinForm就默认不是 ...

  9. JSON支持什么对象/类型?

    原文:JSON支持什么对象/类型? 当一个面试官问你: JSON都支持什么对象/类型?你怎么回答? 也许他的本意是下面这个答案: JSON格式支持的数据类型有以下: 类型 描述 Number 在Jav ...

  10. ssl https双向验证的配置与证书库的生成

    1.SSL认证 不须要特别配置,相关证书库生成看https认证中的相关部分 2.HTTPS认证 一.基本概念 1.单向认证,就是传输的数据加密过了,可是不会校验client的来源  2.双向认证,假设 ...