关于JavaScript技术的基础内容汇总

目录

  • JavaScript 基础知识
  • 1. JavaScript 基本语法
  • 2. 变量和常量
  • 3. 数据类型
  • 4. 运算符
  • 5. 控制结构
  • 6. 函数
  • 7. 对象
  • 8. 数组
  • 9. 事件处理
  • 10. DOM 操作

JavaScript 基础知识

学习 JavaScript(简称 JS)是前端开发的重要组成部分,它是一种动态的、弱类型的脚本语言,用于实现网页的交互功能。以下是学习 JavaScript 过程中需要掌握的基本概念、符号和对应的意义。
在这里插入图片描述

1. JavaScript 基本语法

  • 语句和分号

    • 语句是 JavaScript 程序的基本单位。每个语句通常以分号(;)结束,但在许多情况下,分号可以省略。
    • 示例:let x = 5;
  • 注释

    • 单行注释:以 // 开头。
      // 这是一个单行注释
      
    • 多行注释:以 /* 开头,以 */ 结束。
      /*这是一个多行注释
      */
      

2. 变量和常量

  • 变量声明
    • var:声明一个变量(不推荐使用,可能引发作用域问题)。
    • let:声明一个块级作用域的变量(推荐使用)。
    • const:声明一个块级作用域的常量,一旦赋值不能再改变。
    • 示例:
      var a = 10;
      let b = 20;
      const c = 30;
      

3. 数据类型

  • 基本数据类型

    • Number:数字类型。
      let num = 42;
      
    • String:字符串类型。
      let str = "Hello, world!";
      
    • Boolean:布尔类型。
      let isTrue = true;
      
    • Undefined:未定义类型。
      let undef;
      
    • Null:空值类型。
      let empty = null;
      
  • 复合数据类型

    • Object:对象类型。
      let obj = { name: "Alice", age: 25 };
      
    • Array:数组类型。
      let arr = [1, 2, 3, 4, 5];
      
    • Function:函数类型。
      function greet() {console.log("Hello!");
      }
      

4. 运算符

  • 算术运算符

    • +:加法。
    • -:减法。
    • *:乘法。
    • /:除法。
    • %:取模。
    • ++:自增。
    • --:自减。
    • 示例:
      let x = 10;
      let y = x + 5; // 15
      
  • 赋值运算符

    • =:赋值。
    • +=:加赋值。
    • -=:减赋值。
    • *=:乘赋值。
    • /=:除赋值。
    • %=:模赋值。
    • 示例:
      let x = 10;
      x += 5; // x 现在是 15
      
  • 比较运算符

    • ==:相等。
    • !=:不等。
    • ===:严格相等(值和类型都相等)。
    • !==:严格不等(值和类型都不相等)。
    • >:大于。
    • <:小于。
    • >=:大于或等于。
    • <=:小于或等于。
    • 示例:
      let x = 5;
      let y = 10;
      console.log(x < y); // true
      
  • 逻辑运算符

    • &&:与。
    • ||:或。
    • !:非。
    • 示例:
      let x = true;
      let y = false;
      console.log(x && y); // false
      

5. 控制结构

  • 条件语句

    • if 语句
      if (condition) {// 执行代码块
      }
      
    • if...else 语句
      if (condition) {// 执行代码块
      } else {// 执行代码块
      }
      
    • if...else if...else 语句
      if (condition1) {// 执行代码块
      } else if (condition2) {// 执行代码块
      } else {// 执行代码块
      }
      
  • 循环语句

    • for 循环
      for (let i = 0; i < 10; i++) {console.log(i);
      }
      
    • while 循环
      let i = 0;
      while (i < 10) {console.log(i);i++;
      }
      
    • do...while 循环
      let i = 0;
      do {console.log(i);i++;
      } while (i < 10);
      
  • switch 语句

    let x = 2;
    switch (x) {case 1:console.log("One");break;case 2:console.log("Two");break;default:console.log("Other");break;
    }
    

6. 函数

  • 函数声明
    function add(a, b) {return a + b;
    }
    
  • 函数表达式
    const add = function(a, b) {return a + b;
    };
    
  • 箭头函数
    const add = (a, b) => a + b;
    

7. 对象

  • 创建对象

    let person = {name: "John",age: 30,greet: function() {console.log("Hello, " + this.name);}
    };
    
  • 访问对象属性

    console.log(person.name); // John
    console.log(person["age"]); // 30
    
  • 修改对象属性

    person.name = "Jane";
    

8. 数组

  • 创建数组

    let numbers = [1, 2, 3, 4, 5];
    
  • 访问数组元素

    console.log(numbers[0]); // 1
    
  • 数组方法

    • push:在数组末尾添加一个元素。
      numbers.push(6);
      
    • pop:移除数组末尾的元素。
      numbers.pop();
      
    • shift:移除数组第一个元素。
      numbers.shift();
      
    • unshift:在数组开头添加一个元素。
      numbers.unshift(0);
      
    • forEach:对数组的每个元素执行一次提供的函数。
      numbers.forEach(function(number) {console.log(number);
      });
      

9. 事件处理

  • 添加事件监听

    document.getElementById("myButton").addEventListener("click", function() {alert("Button clicked!");
    });
    
  • 移除事件监听

    function clickHandler() {alert("Button clicked!");
    }
    document.getElementById("myButton").addEventListener("click", clickHandler);
    document.getElementById("myButton").removeEventListener("click", clickHandler);
    

10. DOM 操作

  • 选择元素

    • getElementById
      document.getElementById("myElement");
      
    • getElementsByClassName
      document.getElementsByClassName("myClass");
      
    • querySelector
      document.querySelector(".myClass");
      
  • 修改元素内容

    document.getElementById("myElement").innerText = "New content";
    document.getElementById("myElement").innerHTML = "<b>New content</b>";
    
  • 修改元素样式

    document.getElementById("myElement").style.color = "red";
    
  • 创建和添加元素

    let newElement = document.createElement("div");
    newElement.innerText = "Hello, World!";
    document.body.appendChild(newElement);
    ``
    

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GIGE 协议摘录 —— GVCP 协议(二)

系列文章目录 GIGE 学习笔记 GIGE 协议摘录 —— 设备发现&#xff08;一&#xff09; GIGE 协议摘录 —— GVCP 协议&#xff08;二&#xff09; GIGE 协议摘录 —— GVSP 协议&#xff08;三&#xff09; GIGE 协议摘录 —— 引导寄存器&#xff08;四&#xff09; GIGE 协议…

新品!和芯星通全系统全频高精度板卡UB9A0首发

6月6日&#xff0c;和芯星通发布了UB9A0全系统全频高精度GNSS板卡&#xff0c;主要应用于CORS站、便携基站、GNSS全球监测跟踪站等。延续了上一代产品高质量原始观测量的特点&#xff0c;UB9A0在性能和稳定性方面均表现出众。 UB9A0基于射频基带及高精度算法一体化的GNSS SoC芯…

新能源汽车内卷真相

导语&#xff1a;2025年&#xff0c;我国新能源汽车总产能预计可达3661万辆&#xff0c;如此产能如何消化&#xff1f; 文 | 胡安 “这样卷下去不是办法&#xff0c;企业目的是什么&#xff1f;是盈利&#xff0c;为国家作贡献&#xff0c;为社会作贡献。我们应该有大格局&…

问题:1、彩色餐巾可以渲染就餐气氛,下列说法错误的是 #知识分享#其他

问题&#xff1a;1、彩色餐巾可以渲染就餐气氛&#xff0c;下列说法错误的是 A&#xff0e;如艳红、大红餐巾给人以庄重热烈的感觉&#xff1b; B&#xff0e;橘黄、鹅黄色餐巾给人以高贵典雅的感觉&#xff1b; C&#xff0e;湖蓝色在夏天能给人以凉爽、舒适之感&#xff1…

大数据之HDFS磁盘扩容(linux磁盘扩容)

之所以扩容,是因为当前大数据平台已经接入了不同来源的数据,当执行mapreduce任务时,会发生磁盘爆满,导致hdfs爆红 具体扩容方案如下: 1、查看云磁盘分区情况 fdisk -l . 可以从图看出&#xff1a; /dev/vda 数据盘磁盘容量为21.5GB&#xff0c;包含/dev/vda1分区 /dev/vdb 数…

【大模型】Ollama+open-webui/Anything LLM部署本地大模型构建RAG个人知识库教程(Mac)

目录 一、Ollama是什么&#xff1f; 二、如何在Mac上安装Ollama 1. 准备工作 2. 下载并安装Ollama 3. 运行Ollama 4. 安装和配置大型语言模型 5. 使用Ollama 三、安装open-webui 1. 准备工作 2. Open WebUI ⭐的主要特点 3. Docker安装OpenWebUI&#xff0c;拉去太慢…

大学信息资源管理试题及答案,分享几个实用搜题和学习工具 #职场发展#微信

人工智能技术的发展正逐渐改变着我们的生活&#xff0c;学习如何运用这些技术将成为大学生的必备素养。 1.彩虹搜题 这是个微信公众号 算法持续优化&#xff0c;提升搜题效果。每一次搜索都更精准&#xff0c;答案更有价值。 下方附上一些测试的试题及答案 1、在SpringMVC配…

k8s-pod参数详解

目录 概述创建Pod编写一个简单的Pod添加常用参数为Pod的容器分配资源网络相关Pod健康检查启动探针存活探针就绪探针 作用整个Pod参数配置创建docker-registry 卷挂载 结束 概述 k8s中的pod参数详解。官方文档   版本 k8s 1.27.x 、busybox:stable-musl、nginx:stable-alpine3…

【RabbitMQ基础】-RabbitMQ:初识MQ[1]

简介 RabbitMQ &#xff08;高性能的异步通讯组件&#xff09; RabbitMQ是一个开源的消息队列中间件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;标准。它是一种可靠、可扩展、灵活和可插拔的解决方案&#xff0c;用于处理异步消息传递和事件驱动系统。…

《广告数据定量分析》读书笔记之统计原理2

3.相关分析&#xff1a;描述的是两个数值变量间关系的强度。&#xff08;两个数值型变量之间的关系&#xff09; &#xff08;1&#xff09;图表表示&#xff1a;散点图 &#xff08;2&#xff09;衡量关系强度指标&#xff1a;相关系数r。 &#xff08;r的取值为-1到 1&…

.net 下的身份认证与授权的实现

背景 任何一个系统&#xff0c;都需要对于底层访问的页面和接口进行安全的处理&#xff0c;其中核心就是认证和授权。 另外一个问题就是在实际编程过程中&#xff0c;我们的代码有不同的模式&#xff0c;不同的分层或者在不同的项目之中&#xff0c;如何在不同的地方取得用户…

Python画图(多图展示在一个平面)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

各平台对象存储

一、阿里云对象存储 官方文档&#xff1a;https://help.aliyun.com/zh/oss/getting-started/getting-started-with-oss?spma2c4g.11186623.0.0.299a646c6nWWcW 1.引入maven 官网&#xff1a;https://help.aliyun.com/zh/oss/developer-reference/java-installation?spma2c…

小白学linux | 使用正则表达式审计ssh登录ip地址

Ubuntu /var/log/auth.log记录了所有与身份验证相关的事件&#xff0c;包括SSH登录尝试 grep -i "failed password" /var/log/auth.log | \awk {if($11 ~/^[0-9]\.[0-9]\.[0-9]\.[0-9]$/)print $11 ; else print $13} | \uniq -c | sort -nr -k1 RedHat系发行版 /va…

AI大模型,普通人如何抓到红利?AI+产品经理还有哪些机会

前言 随着人工智能技术的飞速发展&#xff0c;AI大模型正逐渐渗透到我们的工作和生活中&#xff0c;为普通人带来了前所未有的便利和机遇。然而&#xff0c;如何有效地抓住这些红利&#xff0c;让AI大模型为我们所用&#xff0c;成为了许多人关注的焦点。 对于普通人而言&…

Threejs-04、物体的缩放与旋转

1、物体的缩放 因为物体的scale属性是vector对象,因此按照vector的属性和方法,设置x/y/z轴的缩放大小 //例如设置x轴放大3倍、y轴方向放大2倍、z轴方向不变 cube.scale.set(3, 2, 1); //单独设置某个轴的缩放 cube.scale.x = 32、物体设置旋转 因为的旋转通过设置rotation属性…

国自然和毕业论文的流程图用这个格式导入Word可无限放大

AI编辑的图片导出EMF格式可直接插入Word和PPT中 可无限放大 不推荐WMF&#xff0c;导入word可能会发生格式变化 还可在PPT中去除分组再编辑

ceph radosgw 原有zone placement信息丢失数据恢复

概述 近期遇到一个故障环境&#xff0c;因为某些原因&#xff0c;导致集群原有zone、zonegroup等信息丢失&#xff08;osd&#xff0c;pool等状态均健康&#xff09;。原有桶和数据无法访问&#xff0c;经过一些列fix后修复&#xff0c; 记录过程 恢复realm和pool相关信息 重…

我找到了全网最低价买服务器的 bug !!!

拍断大腿 周五&#xff0c;放松一下&#xff0c;给大家分享下我最近的事儿&#xff0c;以及带大家薅个&#xff08;可能会有&#xff09;的羊毛。 上个月&#xff0c;家里买了 Apple TV&#xff08;可理解为苹果的电视盒子&#xff09;装了 infuse&#xff08;一个在电视盒子上…

宝兰德应用服务器软件通过保险业信息技术应用创新攻关实验室产品适配测试认证

近期&#xff0c;宝兰德中间件核心产品「应用服务器软件 V9.5.5」&#xff08;以下简称&#xff1a;应用服务器软件&#xff09;顺利通过了保险业信息技术应用创新攻关实验室产品适配测试。标志着宝兰德应用服务器软件符合信息技术产品适配要求&#xff0c;能够全面支持金融保险…