js 语句

语句就是js整句或者命令,以分号结束。

基本语句

  • 表达式语句
  • 复合语句
  • 空语句
  • 声明语句
JavaScript中有很多语句和控制结构来改变语句的默认执行顺序。
  1. 条件语句
    javaScript解释器可以根据一个 表达式的值来判断是执行还是跳过这些语句,如if语句和switch语句
  2. 循环语句
    可以重复执行语句,如while和for语句
  3. 跳转语句
    可以让解释器跳转至程序的其他部分继续执行,如break,return和throw语句。

条件语句

if语句

if(condition1){
    ...  //如果condition1为true,执行这里。
}else if(condition2){
    ... //如果condition2为true,执行这里。
}esle{
... //如果都不满足,执行这里
}

如果if和else if同时满足只会按顺序执行第一个判断为true的。

switch语句

switch(value){
    case 1:
    //value等于1执行这里
    break//停止switch语句
    case 2//value等于2执行这里
    breakdefault//如果都不满足执行这里
    break;
}

循环语句

while语句

var i =0
while(i<10)//i<10 返回false的时候停止循环
{
console.log(i)
i++
}

连续输出0-9之间的值

do/while

do/while循环会至少循环一次

var i=0;
do{
console.log(i)
i++
}while(i<10)  //输出0-9

for

for是比较常用的循环和while比较像,通常for循环的表达式如下:

    for(初始化;循环条件判断;计数器变量更新)
var i,j
for(i=0,j=10;i<10;i++,j--)
console.log(sum+=i*j)

for/in

for/in 不仅可以遍历数组,还可以遍历对象

var o = {a:1,b:2,c:3}
for(i in o){
    console.log(i)
} // a,b,c

for/in循环并不会遍历对象的所有属性,只有可枚举的属性才会遍历到。那么什么是可枚举的属性呢?由js语言核心所定义的内置方法就不是可枚举的。
举个例子:
所有的对象都有方法toString(),但是for/in并不遍历toString()这个方法。因为他是内置方法,不可枚举。
对象可以继承其他对象的属性,那些继承的自定义属性也可以用for/in遍历出来。
对象的可枚举数据的顺序:

  • 对象继承了可枚举属性
  • 对象具有整数数组索引的属性
  • 使用delete删除了对象已有的属性
  • 使用Object.defineProperty()或者类似的方法改变了对象的属性。

跳转语句

跳转语句可以使js的执行从一个位置跳转到另一个位置。

标签语句

start : i = 5;

可以使用break和continue跳到此处,break和continue是唯一可以使用语句标签的语句。(标签不能是保留字)
break语句
break作用是退出最内层的循环和switch语句。

var iNum = 0;

for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    break;
  }
  iNum++;
}
alert(iNum);    //输出 "4"

continue语句
continue和break类似,但他不退出循环,而是转而执行下一次循环

var iNum = 0;

for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    continue;
  }
  iNum++;
}
alert(iNum);    //输出 "8"

return语句
return语句是指定函数调用后的返回值。这里是return语句的语法。

square=(x)=>{
    return x*x;
}
square(2) //4

throw语句
在js中,当产生运行时错误或者程序使用throw语句时就会显示地抛出异常。使用try/catch/finally语句可以捕获异常。

factorial=(x)=>{
    if(x<0)throw new Error("x不能是负数");//如果输入参数是非法的,则抛出一个异常
    //否则,计算出一个值,并正常地返回他
    for(var f=1;x>1;f*=x,x--)
    return f;
}

当抛出异常时,js解释器会立即停止当前正在执行的逻辑,并跳转至就近的异常处理程序。
try/catch/finally语句
try/catch/finally语句时js的异常处理机制。其中try从句定义了需要处理的异常所在的代码块。当try块某处发生了异常时,调用catch内的代码逻辑。finally块内的逻辑总是会执行。

其他语句类型

with语句
with可以对一个可以按序检索的对象列表进行变量名解析。(js权威指南不推荐使用此方法)

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase()); //输出 "HELLO"
}

debugger语句
debugger语句用来调试。
“use strict”语句
“use strict”是es5引入的一条指令。对于那些没有实现es5的js解释器来说,这只是一条没有副作用的表达式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值