[Day14] 运算式与运算子

运算式(Expression)

Day11 - 陈述式与表达式 中有提到运算式为表达式,会回传一个结果。运算式其实是一个简单的函式,它是由 运算子 (Operator)运算元 (Operant) 组合而成,透过符号或单词来运算他前後的数值,并回传一个结果。

以下面程序码为例:

var nickName;
nickName = 'Carol';

  • =运算子,可将右边参数赋予到左边,并回传一个结果
  • nickName 以及 Carol 是运算子左右两边的值,为运算元
  • Carol 是运算式(表达式)回传结果
  • 此例为二元运算子

运算子 (Operator)

运算子有以下几种类别:

  • 赋值运算子
  • 比较运算子
  • 算术运算子
  • 位元运算子
  • 逻辑运算子
  • 字串运算子
  • 条件(三元)运算子
  • 逗点运算子
  • 一元运算子
  • 关系运算子

详细内容可看 MDN - 运算式与运算子

而依据运算元的数量,又可分为一元运算子二元运算子三元运算子,但绝大部分为二元运算子(左右两边运算元搭配中间运算子)

二元运算子

二元运算子需要有 1 个运算子、运算子左右两边各 1 个运算元,共 2 个运算元

运算元1 运算子 运算元2

ex: 1*1

范例

var a;
a = 1 + 1;

运算过程

var a;
1 + 1
a = 2
  • 1 + 1 为算术运算子 -> 二元运算子
  • a = 2 为 赋值运算子 -> 二元运算子
  • 先执行 1 + 1,计算出结果 2,回传结果後,再赋予至左边 变数 a 上,并回传结果

一元运算子

一元运算子的运算子大部分是单字,只需一个运算元,在运算子的前面或後面

运算子 运算元

ex:++a
运算元 运算子

ex:a++

范例1

delete 删掉特定的物件

var data = [0, 1]
delete data[0];

范例2

typeof 查看运算元型别

var num = 1;
typeof a;

三元运算子

三元运算子只有一种,以 ?: 2 个运算子、以及 3 个运算元结合而成

判断式 ? 表达式1 : 表达式2

三元运算子会依据判断式去决定回传哪个表达式的结果,所以当 判断式 结果为 true 则会回传表达式1,否则回传递表达式2

范例1

var number = 10;
(number < 15) ? '太少' : '太多';
  • '太少''太多' 都是表达式,放在 Chrome 的 console 上时会回传结果
  • 因判断式结果为 true ,所以此三元运算子最後会回传第一个表达式 - '太少'

范例2

此范例为 三元运算子二元运算子 的组合

var number = 20;
var value = (number < 15) ? '太少' : '太多';
console.log(value);

运算过程

var number = 20;
(number < 15) ? '太少' : '太多';
var value = '太多';
console.log(value);
  • 因三元运算子的判断式结果为 false ,所以此三元运算子回传第二个表达式 - '太多'
  • 利用 赋值运算子 -> 二元运算子,将三元运算子回传的值赋予至左边 变数 value

参考文献

六角学院 - JavaScript 核心篇

MDN - 运算式与运算子

MDN - 条件运算子


<<:  【PHP Telegram Bot】Day20 - sendMessage:发送和转换 Markdown 讯息

>>:  [铁人赛 Day14] 来读 Hooks FAQ 文件-lifecycle methods 如何对照到 Hooks?

【Day28】建立一个 LUIS Bot

今天我们要来将 Chatbot 与 Language Understanding Service (...

[ Day 37 ] - 在 Github Release 上发布我们的安装档

之前本鲁都将打包出来的安装档 , 放到 git 中上传到 github 中 来产生一个公开连结让邦友...

Dungeon Mizarka 004

今天决定花些时间来加一些指标性的UI。所谓指标性的UI就是多数FPDC都会看的到的UI,简单来说就是...

JavaScript的语法规定

JavaScript 程序基本上就是编写一连串的指令 (instructions),告诉浏览器要做什...

Chapter1-DJ最爱的音频动感图像(I)基本流程图 & 操作DOM介面

在开始前,还没看过序章的朋友们,可以点击进去,教学大纲和主题方向都写在里面罗! 看完这章节,你会学到...