续前文所述,当我们使用两个等号(==)作比较运算时,深受JavaScript「自动转型」的干扰,结果难料。每当 == 两端值的资料型态不同时,就会发生自动转型。比如:
除了等号比较,自动转型的影响也及於大於(>)、小於(<)、大於等於(>=)、小於等於(<=)的比较。布林值的转型与==相同。若其中一侧不是数字,会被「自动转型」为数字。若是「字串」与「字串」相比较,会以字母顺序来决定大小。
人如其名,本运算子可用於值的指派,如最简单的一个等号(将右边的值指派给左边的变数)
let kageBunshin = 10 * 10;
亦可结合数学运算:
let kageBunshin += 10; //即 影分身 = 影分身+10
逗号(,)可以将同一运算式下的更多式子彼此隔开,也可以将两行的宣告写成一行。如:
let Nihonium = 113;
let Flerovium = 114;
可以写为:
let Nihonium = 113, Flerovium = 114;
一般所指的逻辑判断,是指「而且」、「或者」、「并非」的二元判断,如:
100 === 100 && 1000 === 1000 //true
100 === 100 || 1000 === 500 //true,因为左边符合
!(10 > 100) //true,因为条件是「若false时为ture」
有关&&与||在逻辑运算中的具体关系,可参考表格如下:
然而,若直接以一个if条件式带入两个变数/值作判断,却未必能得到预期中的true/false结果。原因是在JavaScript中,布林值(boolean)与数值(number)不会彼此相等,没有其他语言中「true = 1」「false = 0」的性质(只经过强制转型呈现类似情状)。
易言之,JavaScript的「值」分为两种:
有关更进阶的资讯,建请以关键字「Truthy值」、「Falsy值」作深入研究。
<<: Day 23 - Android 程序实作:简单的使用者进入
>>: 【後转前要多久】# Day08 CSS - CSS Reset
今天文章会延续昨天的程序码去做建构式的学习纪录 我们先看看原本的程序码: var player=ne...
新手发文 Codeigniter如果不调整设定,网址中会自带index.php 为了符合MVC架构,...
类是通过class关键字来定义的,是对某个物件的定义,包含有关物件名称、方法、属性和事件,不过实际上...
小恐龙跑啊跑,悠闲地看着天上的云朵飘过,但是眼前忽然出现了一株仙人掌。 天上好多云 建立云朵组件 建...
在资讯科技的发展下,网页的技术之外有相当多人开始专注於「体验」与「互动」,同步带起 UI 设计、UX...