初学者跪着学JavaScript Day10 : Expression 表达式/运算式 和Statement 述句

一日客家话:中文:吃喜酒 客语:ㄅㄨㄣˊ 拧呛

Expressions 在中文会翻译表达式/运算式
阅读英文文章时经常出会expression和Statement ,身为只有google英文能力的我经常被搞混
前面expression和statement 小姐我一定要看到你的真面目~

JS建立两种语法结构:ExpressionStatement

expression运算式:
JS的一个片语,这个片语会产生一个值,复杂的运算式是由简单运算式组成
这个片语可能为某个值/变数或运算子结合,会有这些literals、variable、operator、function call
会估算一个值,
估算出来的值可以是number、string、boolen或特殊的值像是null、NaN...等

A statement is a piece of code that can be executed and performs some kind of action.
statement:像是拥有行动能力的人
1.是一段code可以执行或执行程序码的操作能力
2.大部分述句最後会有分号;


最简单的运算式:称为 primary expressions

哪些是primary expressions?

  • 常数
  • literal values(上一章有讨论)
  • certain language keywords(特定语言关键字)
  • variable references(变数参考)
    ECMA

常数 const

literal 是直接内嵌在程序码中的常数值

"wendy" =>字串字面值
100  =>数字字面值
/pattern/ =>正规表达式字面值

特定语言关键字 certain language keywords

圈起来

true //估算为boolean 的真值
false //估算为boolean 的假值
null //估算为null值
this //估算为目前的物件

ture、false也是字面值也有可能会是const

变数参考

对变数、const 、全域物件的特性的reference

x //估算为变数x的值
temp //估算变数temp的值
undefined //全域物件的undefined 特性的值

整理

3
0.05
'test'
true
false
this 
undefined
fruit
function
class
function*
yield 
yield* 
async function* 
await 
/pattern/
() 

可以结合iteral+variable+operator

指定=
数学:+*-/
复合指定 : += 、-=
递增/递减 :++、--
物件的property存取

Arithmetic expressions

evaluate to a number

1 / 2
i++
(temp -32)*5/10
5*5/10

String expressions

evaluate to a string

'wellcome ' + 'wendy'

Array and object initializers expressions

[] //array literal
{} //object literal
[8,9,10]
{a: ‘apple, b: 'banana'}
{a: {b: banana}}

Logical expressions

a && b
a || b
!b

Left-hand-side expressions

new、super 、...obj

其实还很多种就不一一列举


statement 述句

会执行特定动作、数字、运算子的组合

特定动作会像是宣告、methods call ,function call...等

const temp = 2 ;
const eat = apple*10;

Assignment statement
语法:varable = expression

1.等号右边: 会估算表达式的值
2.等号左边: 把结果assign到等号左边的变数

statement 有哪些?

ECMA262:

mdn:
流程控制

  • Block
  • break
  • continue
  • if...else
  • switch

宣告

  • var
  • let
  • const

函数与类别(Class)

  • function
  • function*
  • class

迭代(Iteration):
do while
for

Note:
statement 会包含expression,expression 计算完一个值之後会执行一些动作

自己的想法:

const num = 5+3;

expression:5+3
5+3会赋值到num
这整件事会称为statement

最後在书中看到这句话
statement 与 expressions 有对应的角色
statement 像是句子
expression 像是片语
expression可以纯粹或自成一体

目前先到这里~里面还更多的细节,自己也没有全部理解。再度跪下

https://exploringjs.com/impatient-js/ch_syntax.html#statement-vs-expression
Program Building Blocks: Variables, Expressions, Statements
mdn
CNIT 133 Interactive Web Pags – JavaScript and AJAX
JavaScript Expressions
ECMA
JavaScript大全 第七版
你所不知道的 JS:导读,型别与文法


<<:  Day13-stack

>>:  【心得】我就是要跟别人不一样!!List 清单样式变变变~

{DAY 19} Pandas 学习笔记part.5

前言 这篇文章会进行到更多的资料操作 将会分成两个部分: DataFrame Loading 用条件...

如何有效地绕过验证码

导读:作为自动化程序开发人员,爬虫工程师,Captcha是一项网页测试中不可避免地阻碍。 Captc...

Day12 X Writing High Performance CSS

CSS 是前端开发者不可不学的技术之一,没有了它就好像你做出来的网页都没有穿衣服一样,有点羞於见人...

团队共生

前言 感谢我们一同坚持到第 30 天,本篇以「团队共生」为题,总括前述所谈,萃取我认为在团队共同成长...

Day 8 - [Zenbo开发系列] 05-DDE回覆规则设计

这篇会写如何设计 DDE 语料库,还有 DDE 设计的逻辑。 终於来到第五篇,这次截图比较多,主要是...