首页 > 编程语言 >JavaScript 必备知识点以及网页功能实现案例

JavaScript 必备知识点以及网页功能实现案例

时间:2024-09-18 09:22:11浏览次数:10  
标签:function 知识点 网页 log 函数 JavaScript currentSlide console const

JavaScript 是一种广泛应用于网页开发的编程语言,以下是一些必备的重要知识点:

一、基本语法

  1. 变量声明
    • 使用 letconst 和 var 声明变量。let 和 const 是 ES6 引入的新方式,具有块级作用域,可避免变量提升带来的问题。const 声明的变量是常量,不能被重新赋值。
    • 例如:
     let x = 10;
     const y = 20;

  1. 数据类型
    • 基本数据类型包括 number(数字)、string(字符串)、boolean(布尔值)、nullundefined 和 symbol(ES6 新增)。
    • 引用数据类型有 object(对象)、array(数组)、function(函数)等。
    • 可以使用 typeof 运算符来确定变量的数据类型。
    • 例如:
     let num = 10;
     console.log(typeof num); // "number"

  1. 运算符

    • 算术运算符:+-*/% 等。
    • 比较运算符:=====!=!==<><=>=等。
    • 逻辑运算符:&&(与)、||(或)、!(非)。
    • 赋值运算符:=+=-=*=/= 等。
  2. 控制流语句

    • 条件语句:if...elseswitch...case
    • 循环语句:forwhiledo...while
    • 例如:
     if (x > 0) {
       console.log("Positive");
     } else if (x < 0) {
       console.log("Negative");
     } else {
       console.log("Zero");
     }

二、函数

  1. 函数声明和表达式
    • 函数可以通过函数声明或函数表达式来定义。
    • 例如:
     // 函数声明
     function add(a, b) {
       return a + b;
     }

     // 函数表达式
     const subtract = function (a, b) {
       return a - b;
     };

  1. 参数和返回值
    • 函数可以接收参数,并返回一个值。
    • 参数可以有默认值,使用 ES6 的默认参数功能。
    • 例如:
     function multiply(a, b = 1) {
       return a * b;
     }

  1. 箭头函数
    • ES6 引入的箭头函数是一种更简洁的函数定义方式。
    • 例如:
     const square = (x) => x * x;

三、对象和数组

  1. 对象
    • JavaScript 中的对象是属性的集合,可以包含各种数据类型的值。
    • 对象的创建可以使用对象字面量或构造函数。
    • 例如:
     // 对象字面量
     const person = {
       name: "John",
       age: 30,
       greet: function () {
         console.log(`Hello, my name is ${this.name}.`);
       },
     };

     // 构造函数
     function Person(name, age) {
       this.name = name;
       this.age = age;
     }
     const person2 = new Person("Jane", 25);

  1. 数组
    • 数组是一种有序的数据集合,可以存储多个值。
    • 数组的操作包括访问元素、添加元素、删除元素、遍历数组等。
    • 例如:
     const arr = [1, 2, 3, 4, 5];
     console.log(arr[0]); // 1
     arr.push(6); // 添加元素
     arr.pop(); // 删除最后一个元素
     for (let i = 0; i < arr.length; i++) {
       console.log(arr[i]);
     }

四、DOM 操作

  1. 文档对象模型(DOM)
    • DOM 是 HTML 和 XML 文档的编程接口,可以通过 JavaScript 来操作网页的内容和结构。
    • 可以使用 document 对象来访问和修改网页元素。
    • 例如:
     const element = document.getElementById("myElement");
     element.innerHTML = "New content";

  1. 事件处理
    • 可以为网页元素添加事件监听器,以响应用户的交互。
    • 常见的事件包括点击事件、鼠标移动事件、键盘事件等。
    • 例如:
     document.getElementById("button").addEventListener("click", function () {
       console.log("Button clicked");
     });

五、异步编程

  1. 回调函数
    • 在 JavaScript 中,异步操作通常使用回调函数来处理结果。
    • 例如,使用 setTimeout 函数设置一个定时器,在定时器到期后执行回调函数。
    • 例如:
     setTimeout(() => {
       console.log("Timeout expired");
     }, 1000);

  1. Promise
    • Promise 是一种更优雅的处理异步操作的方式,它代表了一个异步操作的最终完成或失败。
    • 可以使用 then 和 catch 方法来处理 Promise 的成功和失败情况。
    • 例如:
     const promise = new Promise((resolve, reject) => {
       setTimeout(() => {
         resolve("Success");
       }, 1000);
     });

     promise.then((result) => {
       console.log(result);
     }).catch((error) => {
       console.log(error);
     });

  1. async/await
    • async/await 是 ES8 引入的异步编程语法糖,它使异步代码看起来更像同步代码。
    • async 函数返回一个 Promise,可以使用 await 关键字在异步操作完成之前暂停函数的执行。
    • 例如:
     async function fetchData() {
       const response = await fetch("https://api.example.com/data");
       const data = await response.json();
       return data;
     }

 

以下是一个使用 JavaScript 实现网页图片轮播的案例。

HTML 结构

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>图片轮播</title>
  <link rel="stylesheet" href="styles.css">
</head>

<body>
  <div class="slider">
    <div class="slide active">
      <img src="image1.jpg" alt="Image 1">
    </div>
    <div class="slide">
      <img src="image2.jpg" alt="Image 2">
    </div>
    <div class="slide">
      <img src="image3.jpg" alt="Image 3">
    </div>
    <button class="prev-button">Previous</button>
    <button class="next-button">Next</button>
  </div>
  <script src="script.js"></script>
</body>

</html>

CSS 样式(styles.css)

.slider {
  position: relative;
  width: 500px;
  height: 300px;
  overflow: hidden;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.active {
  opacity: 1;
}

.prev-button,
.next-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #333;
  color: #fff;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.prev-button {
  left: 10px;
}

.next-button {
  right: 10px;
}

JavaScript 功能实现(script.js)

// 获取幻灯片元素、上一张和下一张按钮
const slides = document.querySelectorAll('.slide');
const prevButton = document.querySelector('.prev-button');
const nextButton = document.querySelector('.next-button');

let currentSlide = 0;

// 显示当前幻灯片
function showSlide(index) {
  slides.forEach((slide, i) => {
    if (i === index) {
      slide.classList.add('active');
    } else {
      slide.classList.remove('active');
    }
  });
}

// 下一张幻灯片
function nextSlide() {
  currentSlide++;
  if (currentSlide >= slides.length) {
    currentSlide = 0;
  }
  showSlide(currentSlide);
}

// 上一张幻灯片
function prevSlide() {
  currentSlide--;
  if (currentSlide < 0) {
    currentSlide = slides.length - 1;
  }
  showSlide(currentSlide);
}

// 为下一张和上一张按钮添加点击事件
nextButton.addEventListener('click', nextSlide);
prevButton.addEventListener('click', prevSlide);

// 初始显示第一张幻灯片
showSlide(currentSlide);

这个案例实现了一个简单的图片轮播功能,用户可以通过点击 “上一张” 和 “下一张” 按钮切换显示的图片。

 

标签:function,知识点,网页,log,函数,JavaScript,currentSlide,console,const
From: https://blog.csdn.net/A_cot/article/details/142324340

相关文章

  • JavaScript -- 数组数据类型
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • JavaScript -- 数组的基本操作
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • CSP初赛知识点:Linux 系统
    CSP初赛知识点:Linux系统前言近年CSP初赛几乎前5道选择题都有一两道有关Linux系统的使用,所以作为备战CSP-J/S2024的资料,整理下来啦。祝各位今年所有考试都能考出自己满意的成绩!1、常用文件操作命令以下设文件名均为csp,需要复制或修改成的文件名均为rp。功能......
  • JavaScript:对组织值进行排序
    要对组织值进行排序,你可以使用JavaScript中的数组排序方法 sort()。下面是一些示例代码,展示如何对不同类型的组织值进行排序:示例1:对数字数组进行排序constnumbers=[5,2,9,1,5,6];//使用sort()方法进行升序排序numbers.sort((a,b)=>a-b);console.log(n......
  • 前端JavaScript面试重难点: 闭包+内存泄漏+垃圾回收机制
    前置知识!!!闭包是Javascript语言的一个重难点,也是它的特色,很多高级应用都要依靠闭包来实现。在各种专业文献上学习"闭包"的时候,就一个感觉–“抽象”!特别是学习内存泄漏的时候,没想明白为什么使用闭包的时候不及时清除函数中的元素会导致内存泄漏,直到我的......
  • 制作一个简单HTML昆明旅游网页(HTML+CSS)
    一、......
  • vue3 知识点框架
    Vue3作为一个渐进式的JavaScript框架,提供了丰富的功能和改进,使得开发者能够更高效地构建用户界面。以下是Vue3知识点框架的一个概述,涵盖了Vue3的核心概念、基础语法、高级特性以及生态工具等方面。一、Vue3概述定义与特点:Vue3是Vue.js的第三个主要版本,它继承了Vue2的......
  • 第二章 网页制作的排版方法
    2.1    文字与段落排版2.1.1    段落标签段落标签<p>是HTML格式中特有的段落元素,在HTML格式里不需要在意文章每行的宽度。语法为:    <palign="left|center|right">文字<p>属性align:    设置段落文字在网页上的对齐方式,包括left左对......
  • Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
    0前言在页面中,要实现数据更新的视图实时显示,纯JavaScrip需要手动编写代码来处理数据和视图之间的更新。而Vue提供了数据绑定的能力,使得数据和视图保持同步。我们通过一个实例来体验两者的差别。我们设计一个页面,在页面里提供一个文本框,用户可以在文本框输入内容,然后我们在文本框下......
  • Js高级总结1 JavaScript数据类型
    文章目录数据类型判断引用变量赋值问题js引擎如何管理内存对象函数生命周期回调函数前端立即执行函数(IIFE)闭包函数中的this数据类型1.1基本数据类型string:任意字符串number:任意数字null:nullboolean:true/falseundefined:undefined1.2对象类型object:任意对......