跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScript大前端

JavaScript 基础语法与核心概念详解

JavaScript 是一门跨平台的脚本语言,用于控制网页行为。介绍其引入方式、基本语法、变量声明(var/let/const)、数据类型、运算符及类型转换。涵盖流程控制语句、函数定义、对象操作(数组、字符串、JSON)。深入讲解浏览器对象模型(BOM)与文档对象模型(DOM),包括元素获取与事件监听机制。适合初学者掌握 Web 开发基础。

NodeJser发布于 2026/3/16更新于 2026/9/1067 浏览
JavaScript 基础语法与核心概念详解

JavaScript 简介

JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。它用于控制网页行为,使网页可交互,不需要编译,只需通过浏览器解释执行。

JavaScript 和 Java 是完全不同的语言,在概念和设计上均有区别,但基础语法类似。JavaScript 于 1995 年由 Brendan Eich 发明,1997 年成为 ECMA 标准。ECMAScript 6(ES6) 发布于 2015 年,是较新的版本。

JavaScript 的引入方式

内部脚本:将 JavaScript 代码定义在 HTML 界面中。

  • 代码必须写在 <script></script> 标签之间。
  • 在 HTML 文档中,可以在任意位置放置不同数量的 script 标签。
  • 通常建议将脚本置于 <body> 元素的底部。

外部文本:将 JavaScript 代码定义在外部文件中,再引入到 HTML 中。

  • 外部文件中只包含代码,不包含标签。

JavaScript 语法

  • 区分大小写:变量名、函数名等所有标识符均区分大小写。
  • 分号:每行结尾的分号可有可无。
  • 注释:
    • 单行注释:// 注释内容 (快捷键 Ctrl+/)
    • 多行注释:/* 注释内容 */ (快捷键 Ctrl+Shift+/)
  • 代码块:使用大括号 {} 表示。
输出语句
  • window.alert():写入警告框。
  • document.write():写入 HTML 输出。
  • console.log():写入浏览器控制台。
<script>
  window.alert("Hello JavaScript"); // 浏览器弹出警告框
  document.write("Hello JavaScript"); // 写入 HTML,在浏览器展示
  console.log("Hello JavaScript"); // 写入浏览器控制台
</script>
变量

JavaScript 中使用 var 关键字声明变量。JavaScript 是弱类型语言,变量可以存放不同类型的值。

变量命名规则:

  • 组成字符可以是字母、数字、下划线 (_) 或美元符号 ($)。
  • 数字不能开头。
  • 建议使用驼峰命名法。

作用域:

  • 定义在 {} 中的变量是局部变量。
  • 定义在外面的变量通常是全局变量。

注意事项:

  • ECMAScript 6 新增 let 关键字,用法类似 var,但只在所在代码块内有效,且不允许重复声明。
  • ECMAScript 6 新增 const 关键字,声明只读常量,一旦声明值不可改变。
数据类型

JavaScript 分为原始类型和引用类型。

原始类型:

  • number:数字(整数、小数、NaN)。
  • string:字符串(单双引皆可)。
  • boolean:布尔值(true, false)。
  • null:对象为空。
  • undefined:声明未初始化时的默认值。

获取类型:使用 typeof 运算符。

alert(typeof 变量);
运算符
  • 算术运算符:+, -, *, /, %, ++, --
  • 赋值运算符:=, +=, -=, *=, /=, %=
  • 比较运算符:>, <, >=, <=, !=, ==, ===
  • 逻辑运算符:&&, ||, !
  • 三元运算符:条件表达式 ? true_value : false_value

注意:== 会进行类型转换,=== 不会进行类型转换。

类型转换
  • 字符串转数字:Number(), parseInt(), parseFloat()。
  • 转为 Boolean:
    • Number:0 和 NaN 为 false,其他为 true。
    • String:空字符串为 false,其他为 true。
    • Null 和 undefined:均为 false。
parseInt("12");      // 12
parseInt("12A45");   // 12
流程控制语句
  • if...else if...else
  • switch
  • for
  • while
  • do...while
函数

函数是被设计为执行特定任务的代码块。

定义:使用 function 关键字。

function functionName(参数 1, 参数 2) {
  // 要执行的代码
}

注意:

  • 形式参数不需要类型(弱类型语言)。
  • 返回值不需要定义类型,使用 return 返回即可。

调用:函数名称 (实际参数列表)

JS 对象

Array

Array 对象用于定义数组。

定义:

var arr = new Array(1, 2, 3, 4); // 方式一
var arr = [1, 2, 3, 4];          // 方式二

访问:arr[索引] = 值;

属性与方法:

  • length:设置或返回数组中元素的数量。
  • forEach():遍历数组中有值的元素。
  • push():将新元素添加到数组末尾,返回新长度。
  • splice():从数组中删除元素。
JSON

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。

基本语法:

  • 键必须在双引号中。
  • Value 的数据类型:数字、字符串(双引号)、逻辑值、数组、对象、null。

重要方法:

  • JSON.parse():将 JSON 字符串解析为 JavaScript 对象。
  • JSON.stringify():将 JavaScript 对象转换为 JSON 字符串。

BOM (Browser Object Model)

BOM 允许 JavaScript 与浏览器对话,将浏览器各组成部分封装为对象。

组成:

  • Window:浏览器窗口对象。
  • Navigator:浏览器对象。
  • Screen:屏幕对象。
  • History:历史记录对象。
  • Location:地址栏对象。

重点学习 Window 和 Location。

Window:

  • 获取:直接使用 window,其中 window. 可省略。
  • 方法:
    • alert():显示警告框。
    • confirm():显示确认对话框。
    • setInterval():按指定周期调用函数。
    • setTimeout():指定毫秒数后调用函数。

Location:

  • 获取:window.location。
  • 属性:
    • href:设置或返回完整的 URL。
    location.href = "https://www.itcast.cn";
    

DOM (Document Object Model)

DOM 将标记语言的各个组成部分封装为对应的对象。

组成部分:

  • Document:整个文档对象。
  • Element:元素对象。
  • Attribute:属性对象。
  • Text:文本对象。
  • Comment:注释对象。

功能:

  • 改变 HTML 元素的内容。
  • 改变 HTML 元素的样式 (CSS)。
  • 对 HTML DOM 事件作出反应。
  • 添加和删除 HTML 元素。

获取 Element 对象:

  1. 根据 id 属性值获取:document.getElementById('h1')
  2. 根据标签名称获取:document.getElementsByTagName('div')
  3. 根据 name 属性值获取:document.getElementsByName('hobby')
  4. 根据 class 属性值获取:document.getElementsByClassName('cls')

事件

事件:HTML 事件是发生在 HTML 元素上的'事情'。例如按钮被点击、鼠标移动、按键按下等。

事件监听:JavaScript 可以在事件被侦测到时执行代码。

常见事件:

  • onclick:鼠标单击事件
  • onblur:元素失去焦点
  • onfocus:元素获得焦点
  • onload:页面或图像加载完成
  • onsubmit:表单提交时触发
  • onkeydown:键盘按键被按下
  • onmouseover:鼠标移到元素之上
  • onmouseout:鼠标从某元素移开

目录

  1. JavaScript 简介
  2. JavaScript 的引入方式
  3. JavaScript 语法
  4. 输出语句
  5. 变量
  6. 数据类型
  7. 运算符
  8. 类型转换
  9. 流程控制语句
  10. 函数
  11. JS 对象
  12. Array
  13. JSON
  14. BOM (Browser Object Model)
  15. DOM (Document Object Model)
  16. 事件

更多推荐文章

查看全部
  • Stable Diffusion 各版本技术详解
  • 前端表单验证策略:防止无效数据提交
  • Java 开发者转型 AI 应用开发的 3 个月实战指南
  • synchronized 底层原理详解:字节码、对象头与锁升级
  • MySQL 中 CHAR 和 VARCHAR 的区别
  • Spring Boot 集成 WebClient 调用第三方接口实战指南
  • 飞算 Java AI:从安装到项目生成指南
  • OpenClaw 多会话管理与子代理功能详解
  • Web 打印控件 Lodop 快速入门与使用指南
  • 使用 Python 和 Itchat 实现微信定时消息与自动回复
  • 渗透测试核心思路与实战方法论总结
  • 银河麒麟 V10 服务器版 Docker 部署 .NET 8 WebAPI 教程
  • Python YAML 模块使用教程:接口测试参数存储与配置
  • JetBrains 中 GitHub Copilot Agent Mode 与 MCP 配置实战
  • 超越宏与指针:用现代C++思想重构STM32寄存器访问模式
  • C++11 核心新特性详解:初始化、声明与右值引用
  • AI 大模型精通之旅:从入门到专业的系统教程
  • Linux Ext 系列文件系统原理与实战
  • LLaMaFactory 基于魔搭社区免费 GPU 微调大模型教程
  • 基于 Windows 环境的 wnmp web 开发环境的研究与实践开题报告2

相关免费在线工具

  • 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

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online