陈述式 v.s 表达式
陈述式
JS 的语句类型,用于命令执行指定的一系列操作
最大特徵是不会回传结果
由于不会回传结果,所以不能赋值在其他变数上面
MDN : https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements
// statementvar a;// 不会回传
表达式
又称为表示式 , 运算式
经常透过一些符号结合上下语句并运算与回传结果
MDN : https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators
// expression100 + 100// 会回传 200
name = '皮杰先生'// = 为运算子(后面将会介绍)// 这里赋值的行为 就会称为表达式
所以 陈述式 与 表达式
不一定是完整语句
其中一个片段,也可以称为陈述式 与 表达式
// 函式陈述式 , 具名函式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/
那今天的介绍就到这里
若有任何问题 或 内容有误
请跟我说唷