&&
来源:互联网 发布:游戏脚本python 编辑:程序博客网 时间:2024/06/05 07:02
最近在看书,看到类似于 这样的代码 return a && b
&& 表示逻辑与(and) 当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
这只是它最简单的理解。看简单的应用。
if (a && b) { //do something} 也就是当a 和 b都为真的时候,才会执行 {} 里的语句。
例子1:
var a = 1 && "abc";
alert(a);
var b = 0 && 1;
alert(b);
会弹出两个窗口,第一个是abc,第二个是0 。 对于 var b = 0 && 1; 你可以设置为 var b = null && 1 ; 或undefined , 都会输出假。
例子2:
function func() {
this.hello=function () {alert("hello");};
this.a="testing";
}
var a = new func();
function returnValue() {
this.v="v";
var i=10;
return this.p && a.a;
}
alert(returnValue());
会弹出true ,实际上,对于a>0 和a!= 1来说,都是判断,就会返回布尔值,所以,b得到的必然是布尔值。 如果
&& 表示逻辑与(and) 当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
这只是它最简单的理解。看简单的应用。
if (a && b) { //do something} 也就是当a 和 b都为真的时候,才会执行 {} 里的语句。
对于 a && b 用于函数或者赋值的时候,这时候,应该这么理解,如果a和b均为数值或字符串时,且a为真的时候(不是null,undefined,0,false etc),会返回b(或者返回b的值),否则,会返回一个假 (null,false,undefined之类) ;如果a或b为布尔值或者同时均为布尔值时,会返回一个布尔值。
例子1:
var a = 1 && "abc";
alert(a);
var b = 0 && 1;
alert(b);
会弹出两个窗口,第一个是abc,第二个是0 。 对于 var b = 0 && 1; 你可以设置为 var b = null && 1 ; 或undefined , 都会输出假。
例子2:
function func() {
this.hello=function () {alert("hello");};
this.a="testing";
}
var a = new func();
function returnValue() {
this.v="v";
var i=10;
return this.p && a.a;
}
alert(returnValue());
这时候,会弹出undefined .
例子3:
var a = 1 && 9; var b = a>0 && a !=1; alert(b);
会弹出true ,实际上,对于a>0 和a!= 1来说,都是判断,就会返回布尔值,所以,b得到的必然是布尔值。 如果
var b = a>0 && false;
必然b会得到false 这个布尔值。
- 程序员
- 程序员?
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
- java 中替换字符窜中的空格
- iTween 曲线移动
- C#中子线程操作主线程中窗体上控件的方法
- 几种经典的网络服务器架构
- &&
- 程序员技术练级攻略
- UIView - iPhone Development Wiki
- 基于XMPP的IOS聊天客户端程序(IOS端一)
- Access restriction: The method getCombiningClass(int) from the type Normalizer is not accessible due
- 对深拷贝与浅拷贝的再次理解
- 【cocos2D-x学习】6.简单游戏的框架——扫雷V0.1
- undefined reference to `executor_globals_id'
- secureCRT 快捷键