与C、Java等语言一样,JavaScript中可以用&&、||、!三个逻辑判断符来对boolean值进行逻辑判断。与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。
逻辑与&&的处理规则
JavaScript中&&的处理规则是这样的:
1.判断第一个值是否为Falsy。如果为Falsy,则直接返回第一个值(不一定为boolean类型)。
2.如果第一个值为Truthy,则直接返回第二个值(不一定为boolean类型)。
复制代码 代码如下:
var o = {x:1, y:2};
console.log(o && o.y);//2
console.log(null && x);//null
逻辑或||的处理规则
与&&操作符类似,JavaScript中||的处理规则是这样的:
1.判断第一个值是否为Truthy。如果为Truthy,则直接返回第一个值(不一定为boolean类型)。
2.如果第一个值为Falsy,则直接返回第二个值(不一定为boolean类型)。
||操作符的这种行为使得JavaScript中一些快捷写法成为现实:
1. 从一系列值中获取第一个Truthy值:
复制代码 代码如下:
var a = null;
var b = 42;
var v = a || b || 100;
console.log(v);//42
2. 对函数中的参数赋以默认值:
复制代码 代码如下:
function test(p){
p = p || {};//if p is not passed, make it an empty object.
}
与&&和||不同,!操作符的行为与C、Java等语言是一致的,只返回boolean值(true或false)。
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?