日期: 2022-09-21 05:47:47 浏览数:7

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
楚雄企业网站设计 - 楚雄高端网站定制 - 楚雄品牌网站搭建 - 上往建站

console.log(true || 10); //第一个操作数是true,结果是第一个操作,也就是true
console.log(false || b); //第一个操作数是false,结果是第二个操作数b
console.log(100 || false); //第一个操作数是100,结果100
console.log(undefined || 9); //第一个操作数是undefined转false,结果9
console.log(NaN || false); //第一个操作数是NaN转false,结果第二个操作数
console.log(null || a); //第一个操作数是null转false,结果a
console.log('' || false); //第一个操作数是空串转false,结果第二操作数
console.log(0 || 100); //结果是100
console.log(5 || 100); //5
console.log(a || b); //a
console.log(obj || 200); //obj
</script>
笑醉踏歌
笑醉踏歌
750***319@qq.com
4年前 (2018-07-06)
衍魔梵
yin***san@foxmail.com
29
三元表达式扩展
var a=6;
1==a?console.log("a是1"):2==a?console.log("a是2"):3==a?console.log("a是3"):console.log("a不是1,2,3");
形如以上表达式,找到第一个与第二个问号之间的冒号,将其分开:
1==a?console.log('a是1')
2==a?console.log("a是2"):3==a?console.log("a是3"):console.log("a不是1,2,3");
此时判断上半部分 a 不为 1 进行下半部分判断:
再将其分开:
2==a?console.log("a是2")
3==a?console.log("a是3"):console.log("a不是1,2,3");
此时判断上半部分 a 不为 2 进行下半部分判断。
此时判断下半部分 a 不为 3 输出 “不为1,2,3”。
衍魔梵
衍魔梵
yin***san@foxmail.com
3年前 (2019-07-01)
木华
871***948@qq.com
27
认可 4 楼的说法,不过补充一下我的理解。
1、逻辑与 &&
返回的不是单纯的 true 还是 false,而是具体的值;
若是第一个值转换布尔值为 true,就返回第二个值;反之,返回第一个值。
换句话说:哪个值是错的就返回哪个值,如果都是对的,返回最后一个值。
2、逻辑或 ||
同 && 类似,返回的不是单纯的 true 和 false,而是具体的值。
这个是从头开始,遇到能转换成 true 的值,就返回那个值,如果没有 true 的就返回最后一个值。
楚雄企业网站设计 - 楚雄高端网站定制 - 楚雄品牌网站搭建 - 上往建站
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
? true : false ;
条件 ? 值1 : 值2 ;
翻译成人话就是 8大于5吗? 大于 就是 true 大不于就是 false;
判断?号前面的条件是否成立, 成立 执行第一个值,不成立,执行第二个值。
Answer
ans***912@outlook.com
大瓜饼
154***5273@qq.comn
逻辑运算符用于测定变量或值之间的逻辑。除了常用的返回布尔值,也可以利用运算符的逻辑来获得我们想要的数字或枚举变量:
尝试一下 »
不难理解在这里 0 即为 false, >=1 的变量为 true, 并没有去“运算”数字,而只是根据与或的逻辑依靠布尔值来返回对应的变量。
大瓜饼
154***5273@qq.comn
笑醉踏歌
750***319@qq.com
首先说一下,其他数据类型转换为布尔类型的规则: null、undefined、0、NaN、空字符串转换为false,其他转化为 true。
JavaScript 中有三种逻辑运算符:
1. 取反 !
首先把数据转化为布尔值,然后取反,结果为 true 或 false。
2. 逻辑与 &&
JavaScript 中逻辑与和其他语言不太一样,如果第一个操作数是 true(或者能够转为 true),计算结果就是第二个操作数,如果第一个操作数是 false,结果就是 false(短路计算),对于一些特殊数值不遵循以上规则。(个人理解为:如果运算的第一个操作数为true,则返回第二个操作数,反之则返回第一个操作数)
<script type="text/javascript">var a = [1,2,3];var b = "hello";var obj = new Object();var d;console.log(true && 10); //第一个操作数是true,结果是第二个操作,也就是10console.log(false && b); //第一个操作数是false,结果flaseconsole.log(100 && false); //第一个操作数是100,结果flaseconsole.log(undefined && false); //第一个操作数是undefined,结果undefinedconsole.log(NaN && false); //第一个操作数是NaN,结果NaNconsole.log(null && false); //第一个操作数是null,结果nullconsole.log('' && false); //第一个操作数是空串,结果空串console.log(0 && 100); //结果是0console.log(5 && 100); //100console.log(a && b); //helloconsole.log(obj && 200); //200</script>3. 逻辑或 ||
如果第一个操作数不是 false,结果就是第一个操作数,否则结果是第二个操作数。如果第一个操作数能够转为 true,结果就是第一个操作数(个人理解为:如果运算的第一个操作数为 true,则返回第一个操作数,反之则返回第二个操作数)
<script type="text/javascript">var a = [1,2,3];var b = "hello";var obj = new Object();var d;console.log(true || 10); //第一个操作数是true,结果是第一个操作,也就是trueconsole.log(false || b); //第一个操作数是false,结果是第二个操作数bconsole.log(100 || false); //第一个操作数是100,结果100console.log(undefined || 9); //第一个操作数是undefined转false,结果9console.log(NaN || false); //第一个操作数是NaN转false,结果第二个操作数console.log(null || a); //第一个操作数是null转false,结果aconsole.log('' || false); //第一个操作数是空串转false,结果第二操作数console.log(0 || 100); /