javascript中 \"||\" 和\"&&\" 的灵活运用

在js代码中,经常会看见a=a||""这样的语句,下面就介绍几个||和&&的用法

a=a||"defaultValue";

if(a!){
a = "defaultValue";
}

if(a==null || a=="" a==undefined){
a = "defaultValue";
}
是等价的,要了解这个问题,就必须弄明白javascript中数据类型转换为布尔类型时的机制。

在javascript中数据类型分为"真值"和"假值",真值转换布尔类型时值为true,假值转换布尔类型时值为false,下面

是一些常见数据类型转换布尔型时的值:

布尔值

null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的数字 TRUE
字符串 TRUE
""(空字符串) FALSE

下面分析下"||" 和 "&&"运算符,在javascript中和java等其他语言中不太一样


在javascript中

"||" 如果||左侧表达式的值为真值,则返回左侧表达式的值;否则返回右侧表达式的值。

var i=""||"真值";//->i="真值"
i="真值"||"其他真值";//->i="真值"
i="真值"||"";//->i="真值"

"&&" 如果&&左侧表达式的值为真值,则返回右侧表达式的值;否则返回左侧表达式的值。

var i=""&&"真值";//->i=""
i="真值"&&"其他真值";//->i="其他真值"
i="真值"&&"";//->i=""

实例:
var a = "123" || "456"; //a的值为123  
var b = "123" && "456"; //b的值为456
var c = "" || "abc"; //c的值为abc
var c = "" && "abc"; //c的值为""
var d = null || "abc"; //d的值为abc
var d = null && "abc"; //d的值为null
var e = 0 || "abc"; //e的值为abc
var e = 0 && "abc"; //e的值为0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值