跳到主要内容
JavaScript 基础语法中篇:运算符、条件、循环与数组详解 | 极客日志
JavaScript 大前端 算法
JavaScript 基础语法中篇:运算符、条件、循环与数组详解 JavaScript 基础语法涵盖运算符、条件语句、循环及数组四大核心。运算符负责数据计算,注意类型转换陷阱;条件语句通过 if 和 switch 实现逻辑分支;循环语句利用 while 和 for 处理重复任务,需防范死循环;数组作为动态容器管理批量数据,掌握 push 与 splice 方法至关重要。这些是构建复杂业务逻辑的基石。
道系青年 发布于 2026/3/15 更新于 2026/4/26 3 浏览前言
在 JavaScript 编程中,想要实现真正的业务逻辑,运算符、条件语句、循环语句和数组这四大核心语法是绕不开的坎。它们就像搭建程序的砖瓦,分别负责数据计算、判断决策、重复执行和批量管理。本文将带你吃透这些核心语法,让你的 JS 编程能力再上一个台阶。
一、运算符:JS 程序的'计算引擎'
运算符是用来对数据进行运算和处理的符号。JavaScript 中的运算符和 Java 在基础用法上高度相似,熟练掌握它们是数据处理的基础。
1.1 算术运算符
算术运算符用于基本的数学运算,包括 +(加)、-(减)、*(乘)、/(除)、%(取模)。这是最基础也是最常用的部分。
console .log (10 + 5 );
console .log (10 - 5 );
console .log (10 * 5 );
console .log (10 / 5 );
console .log (10 % 3 );
这里需要特别注意 + 的双重作用:当操作数都是数字时,执行加法;当有一个操作数是字符串时,会执行字符串拼接 。这是 JS 动态类型带来的特性,也是新手容易踩坑的地方。
console .log (100 + 100 );
console .log ('100' + 100 );
console .log ('hello' + ' world' );
1.2 赋值与复合赋值运算符 =是最基础的赋值运算符。而复合赋值运算符将算术运算符和赋值结合,能简化代码书写,包括 +=、-=、*=、/=、%=。
var num = 10 ;
console .log (num);
num += 5 ;
console .log (num);
num -= 3 ;
console .log (num);
num *= 2 ;
console .log (num);
num /= 4 ;
console .log (num);
num %= 2 ;
console .log (num);
1.3 自增自减运算符 ++(自增)和 --(自减)用于将变量的值加 1 或减 1。分为前置和后置两种形式,单独使用时效果一致,但参与运算时有区别:前置是先修改变量值再运算,后置是先运算再修改变量值。
var a = 5 ;
a++; console .log (a);
++a; console .log (a);
a--; console .log (a);
--a; console .log (a);
var b = 5 ;
console .log (b++ + 2 );
console .log (b);
var c = 5 ;
console .log (++c + 2 );
console .log (c);
1.4 比较运算符 比较运算符用于判断两个值的大小或是否相等,返回布尔类型(true/false),包括 <、>、<=、>=、==、!=、===、!==。
== :只比较值是否相等,会进行隐式类型转换,比如数字 1 和字符串 '1' 会被判定为相等;
=== :严格相等,既比较值,也比较类型,不会进行隐式类型转换,实际开发中推荐使用。
console .log (10 > 5 );
console .log (10 < 5 );
console .log (10 == '10' );
console .log (10 === '10' );
console .log (10 != 5 );
console .log (10 !== '10' );
1.5 逻辑运算符 逻辑运算符用于对多个布尔值进行逻辑判断,是实现条件判断的核心,包括 &&(逻辑与)、||(逻辑或)、!(逻辑非)。
&& :一假则假,只有所有操作数都为 true 时,结果才为 true;
|| :一真则真,只要有一个操作数为 true,结果就为 true;
! :取反,真变假,假变真。
console .log (true && true );
console .log (true && false );
console .log (10 > 5 && 8 < 9 );
console .log (true || false );
console .log (false || false );
console .log (10 < 5 || 8 > 9 );
console .log (!true );
console .log (!(10 > 5 ));
1.6 位运算符(了解) 位运算符是直接对二进制位进行操作,包括 &(按位与)、|(按位或)、~(按位取反)、^(按位异或)以及移位运算符。日常开发中使用频率较低,主要用于底层开发或性能优化场景,了解即可。
二、条件语句:让程序拥有'判断思维' 在实际开发中,程序往往需要根据不同的条件执行不同的代码。JavaScript 提供了 if 语句、三元表达式和 switch 语句三种方式。
2.1 if 语句:最通用的条件判断 if 语句根据条件的复杂程度,分为单分支、双分支和多分支三种形式。
2.1.1 单分支 if 语句 如果条件为 true,执行大括号内的代码,否则跳过。
var num = 15 ;
if (num > 10 ) {
console .log (num + '大于 10' );
}
2.1.2 双分支 if-else 语句 条件为 true 时执行 if 代码,为 false 时执行 else 代码。
**注意:**不能用 num % 2 == 1 判断奇数,因为负数取模结果可能是 -1,正确方式是判断 num % 2 != 0。
var num = 11 ;
if (num % 2 == 0 ) {
console .log (num + '是偶数' );
} else {
console .log (num + '是奇数' );
}
2.1.3 多分支 if-else if-else 语句 依次判断条件,哪个为 true 就执行对应代码,全为 false 时执行 else。
if (条件 1 ) {
} else if (条件 2 ) {
} else if (条件 3 ) {
} else {
}
var num = 0 ;
if (num > 0 ) {
console .log (num + '是正数' );
} else if (num < 0 ) {
console .log (num + '是负数' );
} else {
console .log (num + '是 0' );
}
2.2 三元表达式:if-else 的简化写法 三元表达式是双分支 if-else 的简洁写法,适用于简单判断,一行代码完成判断和结果返回。
条件为 true 时,执行并返回表达式 1 的结果;条件为 false 时,执行并返回表达式 2 的结果。
var a = 20 , b = 15 ;
var max = a > b ? a : b;
console .log ('较大的数是:' + max);
var num = 8 ;
var res = num % 2 == 0 ? num + '是偶数' : num + '是奇数' ;
console .log (res);
2.3 switch 语句:适用于多分支等值判断 当需要对一个变量进行多个等值判断时,switch 比 if-else if 更清晰。
switch (表达式) {
case 值 1 :
break ;
case 值 2 :
break ;
default :
break ;
}
switch后的表达式一般是变量或简单运算,会和 case后的值进行严格相等(===)判断; break关键字必须写,否则会发生 case 穿透 ;**default**是可选的。
var day = prompt ("请输入今天星期几(1-7):" );
switch (parseInt (day)) {
case 1 : console .log ("星期一" ); break ;
case 2 : console .log ("星期二" ); break ;
case 3 : console .log ("星期三" ); break ;
case 4 : console .log ("星期四" ); break ;
case 5 : console .log ("星期五" ); break ;
case 6 : console .log ("星期六" ); break ;
case 7 : console .log ("星期日" ); break ;
default : console .log ("输入有误,请输入 1-7 的数字" ); break ;
}
case 穿透的妙用 :如果多个 case 需要执行相同代码,可利用穿透简化。
var day = 6 ;
switch (day) {
case 1 : case 2 : case 3 : case 4 : case 5 :
console .log ("工作日" ); break ;
case 6 : case 7 :
console .log ("休息日" ); break ;
default :
console .log ("输入有误" ); break ;
}
三、循环语句:让代码'重复执行'不再繁琐 经常需要重复执行某段代码,比如打印 1-100 的数字。循环语句可以大大简化开发。JavaScript 提供了 while 和 for 两种核心方式。
3.1 while 循环:先判断后执行 while 循环先判断条件,再执行循环体,条件为 true 时重复执行。
3.1.1 基本语法
var 变量 = 初始值;
while (循环条件) {
}
核心注意 :循环体中必须有更新循环变量的代码,否则会导致死循环。
3.1.2 基础示例 var num = 1 ;
while (num <= 10 ) {
console .log (num);
num++;
}
var result = 1 ;
var i = 1 ;
while (i <= 5 ) {
result *= i;
i++;
}
console .log ("5 的阶乘是:" + result);
3.1.3 break 和 continue:循环的控制开关 通过 break 和 continue 控制流程。
(1)continue:结束本次循环,继续下一次 var i = 1 ;
while (i <= 5 ) {
if (i == 3 ) {
i++;
continue ;
}
console .log ("我在吃第" + i + "个李子" );
i++;
}
(2)break:结束整个循环 var i = 1 ;
while (i <= 5 ) {
if (i == 3 ) {
break ;
}
console .log ("我在吃第" + i + "个李子" );
i++;
}
3.2 for 循环:更简洁的循环方式 for 循环将初始化、条件、更新整合在一个括号内,适合已知循环次数的场景。
3.2.1 基本语法 for (表达式 1 ; 表达式 2 ; 表达式 3 ) {
}
表达式 1 :初始化,只执行一次;
表达式 2 :条件判断,true 时执行;
表达式 3 :更新变量,每次执行完循环体后执行。
3.2.2 基础示例 for (var num = 1 ; num <= 10 ; num++) {
console .log (num);
}
3.2.3 break 和 continue 在 for 循环中的使用 作用与 while 一致,且因变量更新在表达式 3,无需手动在 continue 前更新,不易死循环。
for (var i = 1 ; i <= 10 ; i++) {
if (i == 5 ) {
continue ;
}
console .log (i);
}
for (var i = 1 ; i <= 10 ; i++) {
if (i == 6 ) {
break ;
}
console .log (i);
}
3.3 循环的选择技巧 两者可相互转换。已知次数优先用 for,未知次数优先用 while。无论哪种都要防止死循环。
四、数组:批量数据的'管理大师' 处理一组相关数据时,数组是最佳选择。JS 数组非常灵活,元素可以是不同类型。
4.1 数组的创建方式
4.1.1 字面量方式创建(推荐) var arr1 = [];
var arr2 = [1 , 2 , 3 , 4 , 5 ];
var arr3 = ['张三' , '李四' , '王五' ];
var arr4 = [1 , '张三' , true , 3.14 ];
4.1.2 new 关键字创建 使用 new Array()。若传入单个数字参数,会被当作长度而非元素。
var arr = new Array (5 );
console .log (arr);
4.2 数组元素的访问和修改 var arr = ['小猪佩奇' , '小猪乔治' , '小羊苏西' ];
console .log (arr[0 ]);
arr[2 ] = '小猫凯迪' ;
console .log (arr);
console .log (arr[3 ]);
4.3 数组的长度:length 属性 var arr = [1 , 2 , 3 , 4 ];
console .log (arr.length );
console .log (arr[arr.length - 1 ]);
4.4 数组元素的新增
4.4.1 修改 length 属性新增 设置为大于原长度的值,新增元素默认为 undefined。
var arr = [9 , 5 , 2 , 7 ];
arr.length = 6 ;
console .log (arr);
4.4.2 通过下标新增 超出当前下标位置赋值,中间未赋值位置变为 empty。
var arr = [];
arr[2 ] = 10 ;
console .log (arr);
4.4.3 push 方法:末尾追加元素(推荐) var arr = [9 , 5 , 2 , 7 , 3 , 6 , 8 ];
var newArr = [];
for (var i = 0 ; i < arr.length ; i++) {
if (arr[i] % 2 != 0 ) {
newArr.push (arr[i]);
}
}
console .log (newArr);
4.5 数组元素的删除:splice 方法 var arr = [9 , 5 , 2 , 7 ];
arr.splice (2 , 1 );
console .log (arr);
4.6 数组的遍历:循环的核心应用 var arr = [1 , 2 , 3 , 4 , 5 ];
var sum = 0 ;
for (var i = 0 ; i < arr.length ; i++) {
console .log ("当前元素:" + arr[i]);
sum += arr[i];
}
console .log ("数组元素总和:" + sum);
总结 本文系统学习了 JavaScript 的运算符、条件语句、循环语句和数组四大核心语法。这些知识点并非孤立,而是相互结合使用的:运算符用于计算,条件语句用于筛选,循环语句用于遍历,三者结合可实现绝大多数数组处理需求。掌握这些基础,是构建复杂业务逻辑的关键。
相关免费在线工具 加密/解密文本 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
Gemini 图片去水印 基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
Keycode 信息 查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
Escape 与 Native 编解码 JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
JavaScript / HTML 格式化 使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
JavaScript 压缩与混淆 Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online