news 2026/4/18 12:00:36

JS基础学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JS基础学习

JS基础学习

  • JS迈出第一步
    • 控制台打印
    • 网页直接显示内容
  • 标识符与变量
    • 标识符的命名规范
    • 变量的声明与使用
  • 运算符与表达式
    • 算术运算符
    • 赋值运算符
    • 比较运算符
    • 逻辑运算符
  • 程序控制结构
    • 分支结构
      • if-else 语句
      • switch 语句
    • 循环结构
      • for 循环
      • while 循环
      • do-while 循环
  • JS 函数
    • 函数的声明与调用
    • 函数的参数与返回值
    • 函数的简化写法:函数表达式
    • 自定义函数
    • 全局函数
    • 局部函数
  • 新手避坑小贴士

JS迈出第一步

学习任何语言,都是从输出一句简单的内容开始,JS 也不例外,常见的两种输出方式如下:

控制台打印

通过 console.log() 可以在浏览器开发者工具的控制台输出内容,步骤简单易操作:
html

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><title>JS第一个程序</title></head><body><script>// 单行注释:控制台输出 Hello JSconsole.log("Hello JS!");</script></body></html>

用浏览器打开后按 F12 切换到 Console 面板,就能看到输出结果。

网页直接显示内容

想要内容直接呈现在网页上,可以使用 document.write() 方法,替换上述代码中的 console.log 即可:

document.write("这是我写的第一个JS程序!");

标识符与变量

变量是用来存储数据的容器,而标识符是给变量、函数等命名的符号,两者是 JS 程序的基础组成部分。

标识符的命名规范

  • 组成规则:可以由字母(A-Z/a-z)、数字(0-9)、下划线(_)、美元符号($)组成。
  • 禁止规则:不能以数字开头;不能使用 JS 的关键字(如 var if for)和保留字(如 class let const);区分大小写(如 age 和 Age 是两个不同的标识符)
  • 命名建议:采用小驼峰命名法,即第一个单词首字母小写,后续单词首字母大写,例如 userName studentScore。

变量的声明与使用

JS 中声明变量有三个关键字:var、let、const,各自的特点和用法不同:

// 1. var 声明:作用域较宽,可重复声明varnum=10;varnum=20;// 不会报错// 2. let 声明:块级作用域,不可重复声明(推荐)letage=18;// let age = 20; // 会报错// 3. const 声明:声明常量,值不可修改,必须初始化constPI=3.1415926;// PI = 3.14; // 会报错

注意:变量声明后如果没有赋值,默认值为 undefined。

运算符与表达式

运算符是用来执行运算的符号,表达式则是由运算符和操作数组成的式子,常见的运算符分类如下:

算术运算符

用于基本的数学运算,包括 + - * / %(取余) ++(自增) --(自减)。

leta=10;letb=3;console.log(a+b);// 13console.log(a%b);// 1 取余运算console.log(a++);// 10 先输出a,再让a自增console.log(++a);// 12 先让a自增,再输出

赋值运算符

最基础的是 =,还有复合赋值运算符 += -= *= /=。

letx=5;x+=3;// 等价于 x = x + 3,结果为 8

比较运算符

用于比较两个值,返回布尔值 true 或 false,包括 > < >= <= ==(值相等) =(值和类型都相等) != !

console.log(5=="5");// true 只比较值console.log(5==="5");// false 比较值和数据类型

逻辑运算符

用于逻辑判断,包括 &&(与) ||(或) !(非)。

letm=10;letn=20;console.log(m>5&&n<25);// true 两个条件都满足console.log(m>15||n>15);// true 满足一个条件即可

程序控制结构

JS 程序默认是顺序执行的,而控制结构可以改变执行顺序,分为分支结构和循环结构两类

分支结构

  • 根据条件判断执行不同的代码块,常见的有 if-else 和 switch。

if-else 语句

letscore=85;if(score>=90){console.log("优秀");}elseif(score>=80){console.log("良好");}else{console.log("继续努力");}

switch 语句

适合多条件等值判断的场景:

letday=3;switch(day){case1:console.log("星期一");break;case3:console.log("星期三");break;default:console.log("其他日期");}

循环结构

用于重复执行一段代码,常见的有 for、while、do-while。

for 循环

// 循环输出1-5for(leti=1;i<=5;i++){console.log(i);}

while 循环

先判断条件,再执行循环体:

letcount=1;while(count<=3){console.log(count);count++;}

do-while 循环

先执行一次循环体,再判断条件,确保循环至少执行一次:

letnum=1;do{console.log(num);num++;}while(num<=2);

JS 函数

函数是封装好的、可以重复调用的代码块,能让代码更简洁、更易维护。

函数的声明与调用

使用 function 关键字声明函数,语法格式如下:

/声明函数:计算两个数的和functionsum(a,b){returna+b;// return 返回函数执行结果}// 调用函数letresult=sum(3,5);console.log(result);// 8

函数的参数与返回值

参数:声明时写的是形参,调用时传入的是实参;如果实参个数少于形参,多余的形参值为 undefined。
返回值:通过 return 语句返回结果,return 后面的代码不会执行;如果没有 return,函数默认返回 undefined。

函数的简化写法:函数表达式

除了常规声明,还可以用变量存储函数,这种方式叫函数表达式:

letmultiply=function(x,y){returnx*y;};console.log(multiply(4,5));// 20

自定义函数

开发者根据需求编写的函数(区别于 alert() 等内置函数),有两种写法:

  • 函数声明:function 函数名(参数) { 逻辑 }(支持函数提升)
  • 函数表达式:let 变量名 = function(参数) { 逻辑 }(不支持声明前调用)

全局函数

定义在全局作用域(script 最外层)的自定义函数,代码任意位置均可调用,缺点是易造成全局命名污染。

functionglobalFunc(){console.log("全局函数");}globalFunc();// 任意位置能调用

局部函数

定义在其他函数内部的自定义函数,仅限父函数内调用,私有性强、避免冲突,还能访问父函数变量(闭包特性)

functionparentFunc(){functionlocalFunc(){console.log("局部函数");}localFunc();// 父函数内可调用}// localFunc(); 外部调用报错

新手避坑小贴士

声明变量时,优先使用 let 和 const,避免 var 的作用域问题。
比较值时,尽量用 === 代替 ==,防止类型转换导致的判断错误。
循环中要注意设置终止条件,避免出现死循环。
函数调用时,实参和形参的顺序要对应,否则会得到错误的结果。
写在最后

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:57:36

2.6 基本子空间和秩

1.四个基本子空间 2.计算左零空间 3.秩 1.四个基本子空间 对于一个m * n的矩阵A(有m行, n列), 该矩阵A有四个重要的向量子空间a.列空间(Column Space) - C(A)- 定义: 由矩阵A的所有列向量张成(线性组合生成)的子空间- 所在空间: Rᵐ(每个列向量有m个向量)- 几何意义: Ax b,…

作者头像 李华
网站建设 2026/4/17 18:30:32

uni-popup零基础入门:5分钟实现第一个弹窗

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个最简单的uni-popup入门示例&#xff0c;包含以下内容&#xff1a;1.如何在uni-app项目中安装uni-popup&#xff1b;2.最基本的弹窗实现代码&#xff1b;3.如何触发弹窗显示…

作者头像 李华
网站建设 2026/4/18 2:05:32

1小时打造解密工具:用Windecrypt验证你的创意

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个Windecrypt快速原型平台&#xff0c;允许用户通过简单配置&#xff08;选择加密类型、设置参数等&#xff09;快速生成定制化解密工具原型。支持实时预览和测试&#xff0c…

作者头像 李华
网站建设 2026/4/17 15:20:02

28、《树莓派应用拓展:3D 打印控制、数字键盘添加与散热优化》

《树莓派应用拓展:3D 打印控制、数字键盘添加与散热优化》 1. 控制 3D 打印机 家庭 3D 打印对于大多数人来说是一个相对较新的选择。随着打印机价格不断下降,你可能会开始愉快地打印塑料物品。3D 打印机能将仅存在于数字世界中的 3D 模型转化为实物。过去,这类硬件价格高昂…

作者头像 李华
网站建设 2026/4/18 2:02:43

30、树莓派的多样玩法与技术探索

树莓派的多样玩法与技术探索 1. Alcyone MIDI 控制器 Alcyone MIDI 控制器是一款为站立吉他手设计的乐器,其网络服务机制是一个简单的循环。它会处理请求,通过内部的 switch/case 检查消息值的高半字节,并根据需要进行更改。无论请求的操作是什么,Alcyone 都会以纯文本…

作者头像 李华
网站建设 2026/3/21 11:01:53

游戏引擎核心模块大揭秘

开篇先说清楚: “游戏引擎到底由哪些大模块组成?”——用人话讲一遍 你可以先在脑子里,把“游戏引擎”想象成一座大工厂。 游戏 = 造车 引擎 = 整个造车工厂的机器、流水线、仓库、管理系统 程序、美术、策划 = 工人、设计师、工程师 玩家 = 买车的人 这座“做游戏的工厂”…

作者头像 李华