《js高级程序设计》第三版———语句,函数,第三章小结

也称为流控制语句

if 语句

if (condition) statement1 else statement2

会自动调用 Boolean()转换函数将condition这个表达式的结果转换为一个布尔值

do-while 语句

后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。
换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次

while 语句

前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。
因此,循环体内的代码有可能永远不会被执行

for 语句

前测试循环语句,但它具有在执行循环之前初始化变量定义循环后要执行的代码 的能力。

在这里插入图片描述

for-in 语句

一种精准的迭代语句,可以用来枚举对象的属性

建议在使用 for-in 循环之前,先检测确认该对象的值不是 null 或 undefined
es5之前会抛错,es5之后不抛错,只是不执行

lable 语句

在代码中添加标签,以便将来使用
label: statement
在这里插入图片描述

break、continue 语句

在循环中精确地控制代码的执行

break语句 会立即退出循环,强制继续执行循环后面的语句。
continue语句 虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

与 label 语句联合使用,从而返回代码中特定的位置。这种联合使用的情况多发生在循环嵌套的情况下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

with 语句

将代码的作用域设置到一个特定的对象中
with (expression) statement;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

switch 语句

与 if 语句的关系最为密切

可以在switch 语句中使用任何数据类型(在很多其他语言中只能使用数值),无论是字符串,还是对象都没有问题。
每个 case 的值不一定是常量,可以是变量,甚至是表达式

在这里插入图片描述
在这里插入图片描述
switch 语句在比较值时使用的是 全等 操作符,因此不会发生类型转换(例如,字符串"10"不等于数值 10)

函数

函数会在执行完 return 语句之后停止并立即退出。
因此,位于 return 语句之后的任何代码都永远不会执行

return 语句也可以不带有任何返回值
在这种情况下,函数在停止执行后将返回 undefined 值。

在这里插入图片描述

命名的参数只提供便利,但不是必需的
ECMAScript 函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。
因为ECMAScript 中的参数在内部是用一个类数组arguments来表示的。函数接收到的始终都是这个数组,而不关心数组中包含哪些参数
在这里插入图片描述

arguments 对象可以与命名参数一起使用
在这里插入图片描述

arguments 的值永远与对应命名参数的值保持同步
例:修改了arguments[1],也就修改了 num2。
只是值同步,俩个数的内存空间是独立的
如果只传入了一个参数,那么为 arguments[1]设置的值不会反应到命名参数中
因为 arguments 对象的长度是由传入的参数个数决定的

没有传递值的命名参数将自动被赋予 undefined 值

在这里插入图片描述
没有重载, 会覆盖
通过检查传入函数中参数的类型和数量并作出不同的反应,可以模仿 方法的重载

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值