商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 一篇文章带你了解JavaScript-语句

一篇文章带你了解JavaScript-语句

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

表达式语句

要说Ja vaScript里最简单的语句,那非“副作用表达式语句”莫属了。这类语句的核心就是执行一个带有副作用的表达式,比如赋值、自增、删除属性、调用函数等等。它们的作用是让程序的状态发生变化,而不是单纯地计算一个值。

a = "hello" + name;
i *= 3;
a++;
delete o.x;
alert(a);
window.close();

可以看到,这些语句本身没有返回值,但它们会改变变量的值、操作DOM、或者弹出对话框。正是这些“副作用”,让程序真正“动”了起来。

复合语句和空语句

复合语句

Ja vaScript也允许你把多条语句打包成一个整体,这就是复合语句。用花括号把一系列语句括起来,它们就变成了一个语句块,可以被当作一条语句来使用。

{
    x = a;
    y = b;
    alert(x);
    alert(y);
}

关于语句块,有几个地方值得提一下。第一,语句块的结尾不需要分号,但块内的每条原始语句必须以分号结束。第二,块内的行最好有缩进,虽然不是必需的,但整齐的缩进能让代码可读性更强,也让别人更容易理解你的意图。最后,也是特别容易踩坑的一点:Ja vaScript中没有块级作用域。在语句块中声明的变量,并不是这个块私有的,外部一样可以访问到。

空语句

与复合语句相对的,是空语句。它允许在期望一条语句的地方什么都不写,仅仅是一个分号。

;
for(i = 0; i < a.length; a[i++] = 0);
if(a == 0);

空语句偶尔有用,比如在for循环中把循环体完全放在第三个表达式里时,但更多时候,它容易引发bug。比如上面的if语句后面跟了一个分号,那原本想执行的代码块就不再受if控制了,务必小心。

声明语句

var

var语句用来声明变量,可以一次声明一个或多个。

var i;
var j = 0;
var a, b;
var x = 0, y = 1;

由var声明的变量是无法通过delete删除的。如果声明时没有指定初始化表达式,那么这个变量的值就是undefined。

function

关键字function用来定义函数,有两种常用方式。

var f = function(x) { return x + 1; }
function f(x) { return x + 1; }

这里的f是函数名,后面的圆括号中是参数列表,参数之间用逗号分隔。当调用函数时,这些标识符就指代传入的实参。函数体是由Ja vaScript语句组成的,用花括号括起来。需要注意的是,定义函数时,函数体内的语句并不会被执行,只有调用时才会生效。

条件语句

if

if语句是最基础的条件判断,写法也很直观。

if (username == null) //如果username是null或者undefined
    username = "J";  //对其进行定义

if/else

嵌套if语句时,有个容易踩的坑——else到底跟哪个if配对?其实只要加上花括号,就能避免歧义。

if (i == j) {
    if (j == k) {
        console.log("i等于k");
    }
} else { //i不等于j时执行else的语句块
    console.log("i不等于j");
}

else if

else if并不是一个独立的关键字,而是一种常见的写法模式,本质上就是紧跟在else后面的另一个if语句。

if (n == 1) {
    //执行代码块
} else if (n == 2) {
    //执行代码块
} else {
    //之前的条件都为false时执行这里的代码块
}

switch

switch语句是处理多分支场景的利器,比一连串的if/else更清晰。不过别忘了在每个分支后面加上break,否则会继续往下执行。

switch (n) {
    case 1:
        //如果 n === 1, 执行这里的代码块
        break;
    case 2:
        //如果 n === 2, 执行这里的代码块
        break;
    case 3:
        //如果 n === 3, 执行这里的代码块
        break;
    default:
        //如果都不匹配执行这里的代码块
        break;
}

循环

Ja vaScript提供了四种循环方式:while、do/while、for和for/in,各有各的适用场景。

while

while循环的特点是先判断条件再执行循环体。

var count = 0;
while (count < 10) { //count小于10时执行代码块
    console.log(count);
    count++; //控制count避免出现无限循环(死循环)
}

变量count的初始值是0,每次循环递增1。当循环执行了10次,表达式变成false,循环结束,解释器继续执行后续代码。

do/while

do/while循环则保证循环体至少执行一次,因为条件判断在循环体之后。

var count = 0;
do {
    console.log(count);
} while (count++ < 10);

注意,do循环必须以关键字do开始,以while结束,并且要用分号结尾。

for

for循环是最常用的循环结构,因为它把初始化、条件判断和更新都写在一起。

for(1; 2; 3)
//1, 2, 3分别负责初始化操作、循环条件判断和计数器变量的更新

输出数字0~9:

for (var count = 0; count < 10; count++)
    console.log(count);

for/in

for/in循环是专门用来遍历对象属性的,它会枚举对象的所有可枚举属性。

for (variable in object)

variable通常是一个变量名,也可以是一个可以产生左值的表达式或者通过var声明的变量,总之必须是一个适用于赋值表达式左侧的值。object是一个表达式,计算结果是一个对象。

遍历对象属性成员:

for (var p in o)
    console.log(o[p])

跳转

标签语句

标签语句相当于给一段代码起个名字,方便在循环内部精确跳转。标签由语句前的标识符和冒号组成。

m: while (a != null) {
    ....
    continue m;
    ....
}

break语句

break语句的作用是立即跳出当前循环或switch块。当循环终止条件非常复杂时,在函数体内使用break语句实现这些条件判断,比在循环表达式中直接写出复杂条件要简单得多。

for (var i = 0; i < a.length; i++) {
    if (a[i] == target)
        break;
}

Ja vaScript也允许break后面跟一个语句标签:

break mname;

continue语句

continue语句则跳过本次循环的剩余代码,直接进入下一次迭代。语法和break类似。

continue;
continue mname;

return语句

return语句只能在函数体内出现,否则会报语法错误。当执行到return语句时,函数终止执行,并返回return后面的值。如果没有return语句,函数执行完所有语句后,会隐式返回undefined。

throw语句

throw语句是主动抛出异常的方式,告诉调用者出错了。

function factorial(x) {
    if (x < 0)
        throw new Error("x不能是负数");
    return f;
}

try/catch/finally语句

try/catch/finally是异常处理的三剑客。try块放可能出错的代码,catch块处理错误,finally块不管有没有错误都会执行。尽管catch和finally都是可选的,但try块至少需要二者之一。

try {
    //需要处理的异常的代码块
} catch (e) {
    //try语句抛出异常后 执行这里的代码
    //可以基于特定的原因处理这个异常
    //可以通过throw语句重新抛出异常
} finally {
    //不管try语句块是否抛出了异常,这里的代码总是执行
    //终止try语句块的方式有:
    //1.正常终止,执行完语句块的最后一条语句
    //2.通过break、continue或return语句终止
    //3.抛出一个异常,异常被catch捕获
    //4.抛出一个异常,异常未被捕获,继续向上传播
}

其他语句类型

with语句

with语句可以临时将对象添加到作用域链的顶层,方便访问它的属性。比如,当需要反复访问一个深层对象属性时,with能省去不少重复输入。

with (document.forms[0]) {
    name.value = '';
    address.value = '';
    email.value = '';
}

不过,with语句容易导致性能问题和代码可读性下降,现代Ja vaScript开发中已经不太推荐使用。

debugger语句

debugger语句相当于在代码中埋下一个断点。当调试器可用时,Ja vaScript解释器会在这里停下来,让你检查变量、调用栈等信息。如果调试器不可用,这条语句什么也不做。

“use strict”

“use strict”是ECMAScript 5引入的一条指令,用于开启严格模式。严格模式让代码更安全、更规范,比如禁止对未声明的变量赋值、禁止删除不可删除的属性等。如果顶层代码使用了这条指令,那么整个脚本都是严格模式。如果函数体内使用了,那么该函数就是严格模式。

总结表

一篇文章带你了解Ja vaScript-语句

总结

以上就是Ja vaScript语句的核心内容了。从最基础的表达式语句,到条件判断、循环、跳转,再到异常处理,每一条语句都有其独特的用途。希望这篇文章能帮你理清思路,减少踩坑。

本文转载于:https://www.jb51.net/article/219695.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注