当前位置: 首页 > news >正文

浏览器端的 js 包括哪几个部分

一、核心语言部分

1. 变量与数据类

变量用于存储数据,在 JavaScript 中有多种数据类型,如基本数据类型(字符串、数字、布尔值、undefined、null)和引用数据类型(对象、数组、函数)。

let name = "John"; // 字符串类型的变量let age = 30; // 数字类型的变量let isStudent = false; // 布尔类型的变量

2. 运算符

包括算术运算符(如 +、-、\*、/)、比较运算符(如 >、<、==、===)、逻辑运算符(如 &&、||、!)等。它们用于对变量和数据进行各种运算和比较。

let a = 5;let b = 3;let sum = a + b; // 使用算术运算符求和let isGreater = a > b; // 使用比较运算符比较大小

3. 控制流语句

条件语句:如`if - else`和`switch`,用于根据不同的条件执行不同的代码块。

let score = 80;if (score >= 90) {console.log("优秀");} else if (score >= 60) {console.log("及格");} else {console.log("不及格");}

4. 循环语句

包括`for`、`while`和`do - while`循环,用于重复执行一段代码。

for (let i = 0; i < 5; i++) {console.log(i);}

二、DOM(文档对象模型)操作部分

1. 节点选择与访问

可以使用多种方法选择 HTML 元素,如`getElementById`、`getElementsByClassName`、`getElementsByTagName`和更现代的`querySelector`及`querySelectorAll`。

let elementById = document.getElementById("my - element");let elementsByClass = document.getElementsByClassName("my - class");let elementsByTag = document.getElementsByTagName("p");let selectedElement = document.querySelector(".my - selector");let selectedElements = document.querySelectorAll("li");

2. 节点修改与创建

可以修改元素的属性、内容和样式。

let element = document.getElementById("my - element");element.textContent = "新的内容";

还可以创建新的元素并添加到文档中。

let newDiv = document.createElement("div");newDiv.textContent = "这是一个新的div";document.body.appendChild(newDiv);

三、BOM(浏览器对象模型)部分

1. 窗口操作

可以操作浏览器窗口,如`window.open`用于打开新的窗口,`window.close`用于关闭当前窗口(在一定条件下)。

let newWindow = window.open("https://www.example.com", "new - window");

2. 导航与历史记录

涉及`window.location`用于获取或设置当前页面的 URL,`window.history`用于操作浏览器的历史记录,如`history.back`(后退)和`history.forward`(前进)。

window.location.href = "https://www.new - url.com";history.back();

四、事件处理部分

1. 事件绑定

可以将函数(事件处理程序)绑定到 HTML 元素的各种事件上,如`click`、`mouseover`、`keydown`等。

let button = document.getElementById("my - button");button.addEventListener("click", function () {console.log("按钮被点击了");});

2. 事件冒泡与捕获

当一个事件在一个元素上被触发时,它会在 DOM 树中传播,这个过程涉及事件冒泡(从子元素向上传播到父元素)和事件捕获(从父元素向下传播到子元素)。可以通过设置`addEventListener`的第三个参数来控制是在冒泡阶段还是捕获阶段处理事件。

let parent = document.getElementById("parent - element");let child = document.getElementById("child - element");// 在捕获阶段处理事件parent.addEventListener("click",function () {console.log("父元素捕获阶段被点击");},true);// 在冒泡阶段处理事件child.addEventListener("click", function () {console.log("子元素冒泡阶段被点击");});

http://www.lryc.cn/news/504667.html

相关文章:

  • GoogLeNet网络:深度学习领域的创新之作
  • 深入C语言文件操作:从库函数到系统调用
  • Java序列化
  • 基坑表面位移沉降倾斜自动化监测 非接触式一体化解决机器视觉
  • 提升效率:精通Windows命令行的艺术
  • ESP32-S3-devKitC-1 点亮板上的WS2812 RGB LED
  • python调用matlab函数(内置 + 自定义) —— 安装matlab.engine
  • CAD c# 生成略缩图预览
  • 端点鉴别、安全电子邮件、TLS
  • 汽车电子元件的可靠性保障:AEC-Q102认证
  • 主成分分析法大全(包括stata+matlab)
  • ubuntu+ros新手笔记(五):初探anaconda+cuda+pytorch
  • C++ List(双向链表)
  • ASP.NET|日常开发中读写TXT文本详解
  • 【机器学习】在不确定的光影中:机器学习与概率论的心灵共舞
  • 【论文笔记】Editing Models with Task Arithmetic
  • ESP32外设学习部分--UART篇
  • ssm-day04 mybatis
  • es中段是怎么合并的
  • 5、可暂停的线程控制模型
  • sql优化--mysql隐式转换
  • Scratch021(画笔)
  • Leetcode 3387. Maximize Amount After Two Days of Conversions
  • 机器视觉与OpenCV--01篇
  • 简单的Java小项目
  • 使用layui的table提示Could not parse as expression(踩坑记录)
  • 区块链共识机制详解
  • 【Excel】单元格分列
  • 【含开题报告+文档+PPT+源码】基于微信小程序的旅游论坛系统的设计与实现
  • 微软 Phi-4:小型模型的推理能力大突破