运算符可以从三个不同的层次进行理解。
第一层理解
当操作数都是布尔值时,“&&”对两个值执行布尔与(AND)操作。
复制代码 代码如下:
x==0 && y==0 // 只有当x和y都是0时,才返回true
关系运算符的优先级比”&&”要高。
第二层理解
”&&“可以对真值和假值进行布尔与(AND)操作。(假值有false、null、undefined、0、NaN和”“)。在JS中任何希望使用布尔值的地方,表达式和语句都会将其当做真值或假值来对待,因此实际上”&&”并不总是返回true和false。
复制代码 代码如下:
null && true // =>null: 左操作数为假值,并将其返回,整个表达式为假
true && (5 - 3) // =>2: 左操作数为真,计算右操作数,并将其结果返回
第三层理解
当运算符要返回一个真值或假值时,根据左操作数的值会遇到两种运算情况:运算符首先计算左操作数的值,如果计算结果是假值,那么整个表达式的结果一定也是假值,此时”&&“简单的返回左操作数的值,而并不会对右操作数进行计算。如果左操作数是真值,”&&“将计算右操作数的值并将其返回作为整个表达式的计算结果。
复制代码 代码如下:
var o = {x:1};
var p = null;
o && o.x; // =>1 o是真值,返回o.x的值
p && p.y; // =>null: p是假值,将其返回,而不去计算p.y
”&&“的行为有时称作”短路“,我们将会看到很多代码利用了这一特性进行有条件地执行代码。例如下面两行代码是完全等价的:
复制代码 代码如下:
if(a == b) stop();
(a == b) && stop();// 与上面语句等价
知识延伸
运算符“||”和”&&”一样也具有一些复杂的行为。
用来从一组备选表达式中选出第一个真值表达式:
复制代码 代码如下:
// 先检查a是否是真值,如果是,返回a,否则和a处理方式相同地处理b
// 如果b是真值返回b,否则返回5
var max = a || b || 5;
这种用法在函数中可以用来给参数提供默认值:
复制代码 代码如下:
function copy(o, p) {
p = p || {}; // 如果没有向参数p传递对象,就使用新创建的对象
// ...
}
运算符优先级
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
运算符&&,层次
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 群星2013-青春缤纷辑压箱宝大公开3CD2[新加坡限量版][WAV整轨]
- 林育群.2013-BalladShow(日本版)【环球】【WAV+CUE】
- 陈加洛.1992-痛到感觉不到【宝丽金】【WAV+CUE】
- 群星.2023-宿命之敌电视剧原声带【韶愔音乐】【FLAC分轨】
- 東京事変-大発見[FLAC+CUE]
- 椎名林檎-三文ゴシップ[FLAC+CUE]
- 2024年08月04日
- 裘德《裘德「最后的水族馆」演唱会LIVE》[320K/MP3][228.89MB]
- 裘德《裘德「最后的水族馆」演唱会LIVE》[24bit 48kHz][FLAC/分轨][2.08G]
- 基因三重奏《如果你什么都不说 音乐会现场录音》[320K/MP3][145.37MB]
- 孟庭苇.1996-月亮说话(2020环球24KGOLD限量版)【上华】【WAV+CUE】
- 群星.1997-新艺宝优质音响系列·国语精选监听版【新艺宝】【WAV+CUE】
- 阿桑.2005-寂寞在唱歌(星外星引进版)【华研国际】【WAV+CUE】
- 基因三重奏《如果你什么都不说 音乐会现场录音》[FLAC/分轨][287.43MB]
- 蔡题谦《我爱你,却依然要看你走》[320K/MP3][88.65MB]