var x = a2 || a1;
来源:互联网 发布:淘宝游戏账号查询 编辑:程序博客网 时间:2024/06/12 01:48
再看看实际的应用:
function test(a1,a2){
var x = a2 || a1;
//var x = a2===undefined ? a1 : a2;
alert(x);
}
test("abc");
test("abc","def");
第一次执行 test 时只传了一个参数,因此在 test 内部获取的 a2 恒等于 undefined,即类型属于false,或运算将继续执行双 竖线右边的表达式 a1 ,a1的值为字符串"abc",不是false,因此或运算表达式返回 "abc" 并赋值给 x。
对于此类型的表达方法 a2 || a1 可以这样理解:优先取 a2, a1 排后。按这样的理解,看看下面的:
function test(a1,a2,a3,a4,a5){
var x = a5 || a4 || a3 || a2 || a1;
alert(x);
}
test("abc","def","ghi");
var x = a2 || a1;
//var x = a2===undefined ? a1 : a2;
alert(x);
}
test("abc");
test("abc","def");
第一次执行 test 时只传了一个参数,因此在 test 内部获取的 a2 恒等于 undefined,即类型属于false,或运算将继续执行双 竖线右边的表达式 a1 ,a1的值为字符串"abc",不是false,因此或运算表达式返回 "abc" 并赋值给 x。
对于此类型的表达方法 a2 || a1 可以这样理解:优先取 a2, a1 排后。按这样的理解,看看下面的:
function test(a1,a2,a3,a4,a5){
var x = a5 || a4 || a3 || a2 || a1;
alert(x);
}
test("abc","def","ghi");
0 0
- var x = a2 || a1;
- select * from A1,A2 where A1.a = A2.b
- int a1=x+y-z; int a2=x-z+y; a1和a2的值一定相等吗? (某公司实习生招聘笔试试题)
- 行车(a1*b1+a1*b2+..a1*bn+a2*b1+...an*bn=(a1+..an)(b1+..bn) )
- 将双向循环链表L=(a1,a2,...,an)改造成L=(a1,a3,...,an,...,a4,a2)
- 拆分单链表(a1,b1,a2,b2....an,bn)=(a1,...an)+(bn,...b1)
- 算法--360面试:使用递归实现:a0=1,a1=1;a2=a0+a1;a3=a1+a2...以此类推,求a30
- <shlwapi.h> StrCat(a1,a2);
- hdu 5976 a1*a2*a3...
- 多种方式计算多项式a0+a1*x+a2*x^2+a3*x^3+.......(计算效率与算法的重要性)
- 求n = a1*a2*33...*ak 且满足(1<a1<=a2<=a3...<=ak<=n)的状态数
- 设双链表表示的线性表L=(a1,a2,a3.....an)将L改造为L=(a1,a3,....an...a4,a2)
- 给定n个非负整数a1,a2,...,an, 找到两条线,它们与x轴一起形成的容器面积最大
- cout<<"a1="<<a<<endl; cout<<"a2="<<-0x80000000<<endl;
- 2-11 整数数组 A1<A2<A3......An中是否存在 Ai = i?
- a1,a2,...,an,b1,b2,...,bn,
- 对于aggregation 的A0,A1,A2
- const char * a1和 char const * a2
- hashCode与equals的区别与联系
- CentOS之MYSQL主从同步配置
- OC与JAVA通用的AES加密解密
- 马克飞象使用技巧
- TCP/IP、Http、Socket的区别
- var x = a2 || a1;
- 顽皮的字母
- Quartz任务调度快速入门
- 位图引起的内存溢出OutOfMemory解决方案
- initWithFrame和layoutSubviews的用法
- iOS开发的一些奇巧淫技
- hdu2000 ASCII码排序
- Android Animation动画讲解
- iOS 默认英文语言误删除的恢复