JS 陈述式 v.s 表达式 DAY51

陈述式 v.s 表达式


陈述式
JS 的语句类型,用於命令执行指定的一系列操作
最大特徵是不会回传结果
由於不会回传结果,所以不能赋值在其他变数上面

MDN : https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements

// statement
var a;
// 不会回传

https://ithelp.ithome.com.tw/upload/images/20201014/20123039Y3C6PMlP3x.jpg


表达式
又称为表示式 , 运算式
经常透过一些符号结合上下语句并运算与回传结果

MDN : https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators

// expression
100 + 100
// 会回传 200

https://ithelp.ithome.com.tw/upload/images/20201014/20123039naVlZ11ERC.jpg

name = '皮杰先生'
// = 为运算子(後面将会介绍)
// 这里赋值的行为 就会称为表达式

https://ithelp.ithome.com.tw/upload/images/20201014/201230395O36Q6HYe2.jpg

所以 陈述式 与 表达式
不一定是完整语句
其中一个片段,也可以称为陈述式 与 表达式


// 函式陈述式 , 具名函式
function fn(){

}
// 函式表达式 , 匿名函式
var fn = function(){

}

常见误解区块

block区块

// 陈述式
{
    var name = '皮杰先生';
}

物件实字

//函式表达式
{
    name : '皮杰先生',
}

由於是函式表达式
所以可以用一个变数去接收

var a = {
     name : '皮杰先生',
}

补充

并非所有的函式表达式都是匿名函式

var functionC = function functionD() {
    console.log(functionC,functionD);
    // 具名函式只能够在函式内被调用
}
functionC();
console.log(functionC,functionD); // functionD is not defined 
// (functionD) 无法在函式外使用
var num = 1;
var giveMoney = function giveMoreMoney(coin) {
    num +=1;
    console.log('执行giveMoney', num , coin);
    return coin > 100 ? coin : giveMoreMoney(num*coin)

}

console.log(giveMoney(20)); 

最後,有关於陈述式与表达式
也可以参考此篇文章
https://hsiangfeng.github.io/javascript/20200607/196651152/
那今天的介绍就到这里
若有任何问题 或 内容有误
请跟我说唷/images/emoticon/emoticon07.gif


<<:  工作散记 - 在本机开发环境建置MSW

>>:  ISO 27001 机房管理部份之一

【Day 27】好用的 JavaScript 动态提示工具库 - Tippy.js

Tippy.js Tippy.js 是一款轻量的 JavaScript 动态提示工具库,提供完整的...

B+树索引实战篇-Part3(索引用於排序与分组、回表的代价、进一步创建与使用索引)

前情提要-我们前面为了方便解释,建了个表还有索引 mysql> create table si...

Ubuntu巡航记(2) -- 在 Ubuntu 作业系统内安装 TensorFlow

前言 前一篇搞定 Ubuntu 作业系统的安装,接下来我们继续安装『机器学习』的相关软件及工具,包括...

5种经营部落格也能加薪的方法

一、前言 如果你有架设过网站,就会知道架设网站并不难,重点会在於架起以後要怎麽经营。 我相信大部分...

Proxmox VE 帐号管理及权限指派

Proxmox VE 平台功能丰富,随着建立的客体机服务越来越多,组织成长後势必需要进行分工管理,...