JavaScript的语法

Stella981
• 阅读 739

语句和表达式

语句相当于句子,表达式相当于短语,运算符则相当于标点符号和连接词。

语句的结果值

代码块的结果值就如同一个隐式的返回,即返回最后一个语句的结果值。

表达式的副作用

最常见的有副作用(也可能没有)的表达式是函数调用:

function foo() {
  a = a + 1;
  }
  var a = 1;
  foo(); 
  console.log(a);

var a = 42;
var b = a++;

a++ 首先返回变量 a 的当前值 42 (再将该值赋给 b ),然后将 a 的值加 1:

++ 在前面时,如 ++a ,它的副作用(将 a 递增)产生在表达式返回结果值之前,而 a++ 的副作用则产生在之后。

var a = 42;
var b = (a++);
a; // 43
b; // 42

 ( ) 本身并不是一个封装表达式,不会在表达式 a++ 产生副作用之后执行。

上下文规则

 大括号
下面两种情况会用到大括号 { .. }

 对象常量

代码块

 对象解构

{ .. } 还可以用作函数命名参数(named function argument)的对象解构(object destructuring)

4. else if 和可选代码块

运算符优先级

 && 运算符先于 || 执行

短路

对 && 和 || 来说,如果从左边的操作数能够得出结果,就可以忽略右边的操作数。我们将这种现象称为“短路”(即执行最短路径)。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java 选择结构if
图11     if…elseif…else语句的流程图!(https://oscimg.oschina.net/oscnet/421d60a830835fe0a86905053cf0c13578d.png)选择结构if语句与三元运算转换  三元运算符,它和ifelse语句类似,语法如下:  判断条件?表达式1:表达式2
Wesley13 Wesley13
3年前
Oracle基于布尔的盲注总结
0x01decode 函数布尔盲注decode(字段或字段的运算,值1,值2,值3)这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回3当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多使用方法:比较大小select
Stella981 Stella981
3年前
Shell函数返回值
Shell函数返回值shell函数返回值一般有3种方式:1.return语句shell函数的返回值可以和其他语言的返回值一样,通过return语句返回。比如:!/bin/bashfunctionmytest(){echo"mytestfunction"echo
Stella981 Stella981
3年前
Scala系列4:轻松搞定Scala中for,if,while,块表达式等
0.条件表达式   条件表达式一般就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作。scala条件表达式的语法和Java一样。0.1有返回值的if条件表达式_尖叫提示:_在scala中,跟Java不同,条件表达式也是有返回值的s
Wesley13 Wesley13
3年前
Java自学
Java的If条件语句条件判断示例1:ifif(表达式1){表达式2;}如果表达式1的值是true,就执行表达式2!if(https://oscimg.oschina.net/oscnet/9bbaf72c54f9849129e8a039
Stella981 Stella981
3年前
Python3——匿名函数
没有名字的函数,不用写return,返回值就是该表达式的结果。语法:lambda参数:方法(或三元运算)lambdax:xx等同于deff(x):returnxx普通函数defcalc(x,y):ifxy:retur
Wesley13 Wesley13
3年前
MySQL的if,case语句使用总结
Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:IF表达式IF(expr1,expr2,expr3)如果expr1是TRUE(expr1<0andexpr1<NULL),则IF()的返回值为expr2;否则返回值则为expr3。IF()的返回值为数字值或
Stella981 Stella981
3年前
Python—语法基础(8) 分支、循环结构
分支紧凑格式:<表达式1if<条件else<表达式2分支结构if<条件1:<语句块1elif<条件2:<语句块2……else:<语句块N异常处理try:
Wesley13 Wesley13
3年前
Java基础入门(三)之条件分支结构以及键盘录入
一、if语句1、if条件语句的表达式无论简单还是复杂,结果必须是布尔类型。2、if语句的三种形式第一种:if(比较表达式)                {语句体1:}如果if语句控制的语句体是一条,大括号可以省略,若为多条,必须加大括号。要求:统一加大括号第二种:if(比较表达式){语句体1
小万哥 小万哥
3个月前
Kotlin 布尔值教程:深入理解与应用示例
Kotlin中的布尔值是一种数据类型,仅能存储true或false两种状态,适用于表示二选一的情况,如开关或真假判断。布尔类型可通过Boolean关键字声明,并直接赋值为true或false。此外,Kotlin支持使用比较运算符创建布尔表达式,用于条件判断。条件语句包括if、else和elseif,允许根据不同条件执行特定代码块。特别地,在Kotlin中,if..else结构不仅能作为语句使用,还能作为表达式,即可以在条件判断的同时返回一个值。这种灵活性使得Kotlin在处理条件逻辑时更为简洁高效。