亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

語句、表達式、表達式語句怎么區分?有點混淆。

語句、表達式、表達式語句怎么區分?有點混淆。

慕少森 2018-08-08 08:08:58
語句、表達式、表達式語句怎么區分?有點混淆。百度了一下,感覺仍然不是很清楚,有交叉,想聽聽大家的意見。
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

給你畫了一張圖:

https://img1.sycdn.imooc.com//5ba2fb1c0001305614150899.jpg


語法文法如下:

Statement -> Block           | VariableStatement
           | EmptyStatement
           | ExpressionStatement
           | IfStatement
           | IterationStatement
           | ContinueStatement
           | BreakStatement
           | ReturnStatement
           ...

ExpressionStatement -> Expression;

Expression -> this            | 基本表達式
            | 屬性訪問表達式
            | new表達式
            | 函數調用表達式
            | 函數表達式
            | 自增/自減表達式
            | 算術表達式
            | 邏輯表達式
            ...

上述內容有簡化,詳細見ES規范第11、12、12.4章節。

那我再舉幾個例子:

  • 表達式。表達式的特點是可以得到一個,即操作結果。所以它可以作為其他表達式的操作數,從而形成更復雜的表達式;或者作為其他語法結構的一部分,從而形成更復雜的語法結構。例如:

a + 2 // 算術表達式,結果是一個數。new Car() // new表達式,結果是一個對象。(a + 2) > f(10) // 由算術表達式、分組表達式、關系表達式、函數調用表達式組合而成的復合表達式,由于最后運算的是關系運算,所以結果是一個布爾值。
  • 語句。語句是一個特定的語法結構,它與表達式的一個區別是:它沒有操作結果。而且它往往是一種比表達式更復雜的語法結構。但是它們兩者也有關系,即表達式常常是語句的一部分。例如:

var b = foo(); // 變量賦值語句。其中foo()就是一個表達式。while(i-- >= 0) console.log(this.children[i]); // While語句。里面也包含了若干個表達式。

到這里為止,你應該明白表達式和語句的區別了。但是還有一種讓它們倆顯得關系更加密切的語法結構,即:

  • 表達式語句。顯然表達式語句也是一種語句。為什么說它讓表達式和語句顯得關系更加密切呢?因為:

表達式語句 = 表達式 + 分號

是不是很密切。

例如:

4 * num // 表達式4 * num; // 表達式語句exit() // 表達式exit(); // 表達式語句


查看完整回答
反對 回復 2018-09-20
  • 1 回答
  • 0 關注
  • 786 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號