5分钟JavaScript快速入门

news2024/12/28 20:15:27


目录

一.JavaScript基础语法

 二.JavaScript的引入方式

三.JavaScript中的数组

四.BOM对象集合

五.DOM对象集合

六.事件监听

使用addEventListener()方法添加事件监听器

使用onX属性直接指定事件处理函数

使用removeEventListener()方法移除事件监听器


一.JavaScript基础语法

JavaScript是一种高级编程语言,用于开发网页和网络应用程序。它是一种动态类型语言,可以在客户端和服务器端运行。JavaScript主要用于改善用户体验、实现动态网页、与用户进行交互以及处理数据等功能。它具有易学易用的特点,被广泛用于网页开发和移动应用开发。

JavaScript是一种弱类型、动态的编程语言,主要用于在网页上添加交互功能。以下是JavaScript的一些基本语法要点:

  1. 变量声明:使用 var、let const 来声明变量,例如:
    var x = 10;
    let y = 5;
    const z = 3.14;
    
  2. 数据类型:支持数值(整数和浮点数)、字符串、布尔值、数组、对象等多种数据类型
  3. 条件语句:使用 if-else 语句进行条件判断,例如:

    if (x > 5) {
      console.log("x大于5");
    } else {
      console.log("x小于等于5");
    }
    
  4. 循环语句:使用 for、while do-while 语句进行循环操作,例如:
    for (var i = 0; i < 5; i++) {
      console.log(i);
    }
    
  5. 函数定义:使用 function 关键字定义函数,例如:
    function add(a, b) {
      return a + b;
    }
    
  6. 事件处理:可以通过添加事件监听器来响应用户的操作,例如:
    document.getElementById("myButton").addEventListener("click", function() {
      console.log("按钮被点击了");
    });
    
  7. 对象和属性:可以使用对象字面量或构造函数来创建对象,并使用点操作符访问对象的属性,例如:
    var person = {
      name: "张三",
      age: 20
    };
    console.log(person.name);
    

 二.JavaScript的引入方式

JavaScript可以通过以下几种方式引入:

  1. 内联方式(Inline):直接在HTML页面中嵌入JavaScript代码,使用<script>标签将JavaScript代码放置在HTML文件的<head><body>标签内。例如:
    <head>
      <script>
        // JavaScript代码
      </script>
    </head>
    

    这种方式适用于较小的脚本或临时性的代码

  2. 外部文件方式(External):将JavaScript代码保存在一个独立的外部文件中,然后使用<script>标签的src属性将文件引入到HTML页面中。例如:
    <head>
      <script src="script.js"></script>
    </head>
    

    在外部文件中编写JavaScript代码,可以提高代码的可维护性和重用性。

  3. 内部方式(Internal):将JavaScript代码直接嵌入HTML文件的<script>标签内,但不使用src属性引入外部文件。例如:
    <head>
      <script>
        // JavaScript代码
      </script>
    </head>
    

    这种方式适用于较小的脚本或临时性的代码,与内联方式类似。

根据具体的需求和项目规模,选择合适的引入方式可以提高代码的可维护性和效率。


三.JavaScript中的数组

JavaScript中的数组是一种特殊的对象,用于存储多个值。它可以包含不同类型的数据,如数字、字符串、布尔值等。数组使用方括号 [] 来定义,元素之间用逗号分隔。

创建数组可以使用以下语法创建一个新的数组:

var arr = []; // 空数组
var arr = [1, 2, 3]; // 包含三个元素的数组
var arr = new Array(); // 使用构造函数创建空数组
var arr = new Array(1, 2, 3); // 使用构造函数创建包含三个元素的数组

访问数组元素 可以使用索引来访问数组中的元素,索引从 0 开始。例如:

var arr = [1, 2, 3];
console.log(arr[0]); // 输出 1
console.log(arr[1]); // 输出 2
console.log(arr[2]); // 输出 3
var arr = [1, 2, 3];
console.log(arr[0]); // 输出 1
console.log(arr[1]); // 输出 2
console.log(arr[2]); // 输出 3

数组长度 可以使用 length 属性来获取数组的长度。例如:

var arr = [1, 2, 3];
console.log(arr.length); // 输出 3

 JavaScript 提供了一些内置的数组方法,用于对数组进行操作,如增加、删除、修改元素,获取子数组等。常用的方法包括:

  • push():向数组末尾添加一个或多个元素,并返回新的长度
  • pop():删除并返回数组的最后一个元素
  • shift():删除并返回数组的第一个元素
  • unshift():向数组开头添加一个或多个元素,并返回新的长度
  • splice():删除、替换或添加元素,或者同时进行多个操作
  • slice():返回数组的一个子数组
  • concat():将多个数组合并为一个新数组
  • join():将数组的所有元素连接成一个字符串
  • reverse():反转数组的元素顺序
  • sort():对数组的元素进行排序

四.BOM对象集合

BOM(Browser Object Model)是指浏览器对象模型,是JavaScript中与浏览器交互的一组对象的集合。

BOM提供了一系列的对象,用于操作浏览器窗口和浏览器本身。其中一些重要的BOM对象包括:

  1. `window`对象:代表浏览器窗口。它是BOM的顶层对象,可以访问和操作浏览器窗口的属性和方法,比如窗口的大小、位置、打开新的窗口等。
  2. `navigator`对象:提供有关浏览器的信息,比如浏览器的名称、版本、所使用的操作系统等。还可以通过`navigator`对象检测用户的浏览器类型和功能支持情况。
  3. `location`对象:代表当前页面的URL信息。可以通过`location`对象获取当前页面的URL、跳转到其他页面、修改页面的URL等。
  4. `screen`对象:提供了有关用户屏幕的信息,比如屏幕的宽度、高度、颜色深度等。

除了上述对象,BOM还提供了其他一些对象和API,用于处理浏览器的历史记录、cookie、定时器等功能。

我们可以通过使用上述的对象来直接对浏览器进行操作,就拿我们最常用的 window对象 来举例:

Window属性:

  • history:对history对象的只读引用

  • location:用于窗口或框架的Location对象

  • navigation:对Navigator对象的只读引用

Window方法:

  • alert():显示警告窗口

  • confirm():显示确认对话框

  • setInterval():周期的调用函数或计算表达式

  • setTimeout():指定毫秒数后调用函数或计算表达式


五.DOM对象集合

DOM(文档对象模型)在JavaScript中是一个重要的概念。它是浏览器用来表示网页文档的对象模型,通过DOM,JavaScript可以访问和操作网页中的元素和属性。

DOM以树状结构表示HTML文档的层次关系。每个HTML元素都被表示为一个DOM节点,节点之间的关系通过父子关系来描述。根节点是整个文档,它的子节点是HTML元素,而每个HTML元素又可以有自己的子节点。

JavaScript可以使用一些内置的方法和属性来操作DOM节点,常用的方法包括:getElementById():根据元素的id属性获取DOM节点。

  1. getElementsByClassName():根据元素的class属性获取DOM节点。
  2. getElementsByTagName():根据元素的标签名获取DOM节点。
  3. querySelector():使用CSS选择器来获取DOM节点。
  4. createElement():创建一个新的DOM元素节点。
  5. appendChild():将一个DOM节点添加为另一个节点的子节点。
  6. removeChild():从DOM树中移除一个节点。

除了以上方法,还有很多其他方法和属性可用于操作DOM。通过这些方法和属性,JavaScript可以读取和修改DOM节点的属性、样式和内容,还可以创建、删除和移动DOM节点。这样,JavaScript可以实现与用户交互、动态更新网页内容等功能。


六.事件监听

在JavaScript中,事件监听是一种常见的技术,用于在特定的DOM元素上监听特定的事件,并执行相应的代码。以下是一些常用的方法和语法:

使用addEventListener()方法添加事件监听器

element.addEventListener(event, function, useCapture);
  • element是要添加事件监听器的DOM元素。
  • event是要监听的事件名称,如clickmouseover等。
  • function是事件发生时要执行的函数。
  • useCapture是一个可选参数,指定事件是在捕获阶段还是冒泡阶段触发,默认为false(冒泡阶段)。

使用onX属性直接指定事件处理函数

element.onX = function;
  • element是要添加事件监听器的DOM元素。
  • X是事件的名称,如clickmouseover等。
  • function是事件发生时要执行的函数。
// 在按钮上添加点击事件监听器
var button = document.getElementById("myButton");
button.onclick = function() {
  console.log("Button clicked!");
};

使用removeEventListener()方法移除事件监听器

element.removeEventListener(event, function, useCapture);
  • element是要移除事件监听器的DOM元素。
  • event是要移除的事件名称。
  • function是要移除的事件处理函数。
  • useCapture是一个可选参数,指定事件是在捕获阶段还是冒泡阶段触发,默认为false(冒泡阶段)。
// 移除按钮上的点击事件监听器
button.removeEventListener("click", handleClick);



 本次的分享就到此为止了,希望我的分享能给您带来帮助,也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

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

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

相关文章

悄悄话花费的时间(C语言)【二叉树各结点统计求和】

题目描述 给定一个二叉树&#xff0c;每个节点上站着一个人&#xff0c;节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时&#xff0c;根节点所在位置的人有一个悄悄话想要传递给其他人&#xff0c;求二叉树所有节点上的人都接收到悄悄话花费的时间。 输入描述 …

element导航菜单el-menu添加搜索功能

element导航菜单-侧栏&#xff0c;自带的功能没有搜索或者模糊查询。 找了找资料 找到一个比较可行的&#xff0c;记录一下&#xff1a; //index.vue的代码 <div style"overflow:auto"><el-menu :default-active"$route.path":default-openeds&…

如何在 Tomcat 中为 Web 应用程序启用和配置缓存?

在Tomcat中为Web应用程序启用和配置缓存通常涉及到对Tomcat的连接器&#xff08;Connector&#xff09;进行配置&#xff0c;以及可能的话&#xff0c;配置Web应用程序本身以支持缓存。 1. 配置Tomcat连接器以启用缓存 Tomcat的连接器可以通过其配置来启用各种…

开源免费的NTFS for mac工具mounty

开源免费的NTFS for mac工具mounty 安装依赖 brew install gromgit/fuse/ntfs-3g-macbrew install --cask macfuse安装mounty 如果已经安装macFUSE和ntfs-3g-mac&#xff0c;可以直接点击下载的dmg安装包&#xff0c;安装升级。第一次启动mounty&#xff0c;你需要接受一系列…

Oracle迁移到mysql-导出mysql所有索引和主键

导出建库表索引等&#xff1a; [rootlnpg ~]# mysqldump -ugistar -pxxx -h192.168.207.143 --no-data -d lndb > lndb20230223-1.sql 只导出索引&#xff1a;参考&#xff1a;MYSQL导出现有库中的索引脚本_mysql 导出数据库所有表的主键和索引-CSDN博客 -- MYSQL导出现有…

国内排名比较好的ai软件有哪些?极力推荐这几款

随着人工智能技术的不断演进&#xff0c;越来越多的写作者开始借助AI写作软件来提升写作效率。在国内&#xff0c;有许多实用且易用的AI写作工具&#xff0c;让写作变得更加便捷和高效。以下是6款国内优秀的AI写作软件&#xff0c;让您的写作过程更加顺畅。 第一款&#xff1a;…

[附完整代码]群智能算法跑21种真实世界优化问题,并输出结果到excel||群智能算法跑CEC 2020真实世界优化问题,并输出结果到excel

1、简介 灰狼算法跑跑21种真实世界优化问题|足球训练队优化算法跑21种真实世界优化问题||牛顿拉夫逊算法跑21种真实世界优化问题||冠状豪猪CPO跑21种真实世界优化问题。 ‘FTTA’,‘BWO’, ‘CPO’, ‘FHO’, ‘GWO’, ‘HHO’, ‘NRBO’,‘SCA’,‘SGA’,WOA’跑21种真实世…

Python爬虫-报错requests.exceptions.SSLError: HTTPSConnectionPool

在学习python爬虫&#xff0c;在公司运行代码没有问题&#xff0c;但是下班回来把代码拉下来运行&#xff0c;却出现问题。 问题&#xff1a; requests.exceptions.SSLError: HTTPSConnectionPool(host‘campusgateway.51job.com’, port443): Max retries exceeded with url…

如何用jmeter请求application/octet-stream,image/jpeg

用postman调用时&#xff1a; 用jmeter&#xff1a; 注意上图不要勾选&#xff0c;不然会把所有的内容都以二进制传进去&#xff0c;我们不勾选只传二进制的图片内容&#xff0c;勾选了会把MIME类型、参数名称都转为二进制传进去。会报错。

MySQL-基本使用,数据类型,简单操作

1. 数据库概述 1.1 数据库(DatBase) 数据库&#xff0c;就是遵循一定数据格式的数据集合&#xff0c;可以认为他是对文件系统的改进。它解决了不同操作系统之间&#xff0c;数据格式的兼容性问题。也就是说&#xff0c;只要是同一个数据库的数据文件&#xff0c;即使从windows迁…

linux服务器tomcat日志中文出现问号乱码

目录 一、场景二、排查三、原因四、解决 一、场景 tomcat日志的中文出现问号乱码 乱码示例 ??[377995738417729536]????????? ac??????????????message:二、排查 1、使用locale命令查看服务器当前使用的语言包 发现只用的语言包为utf-8&#xff0…

Openstack云计算框架及前期服务搭建

openstack介绍 Openstack是一个开源的云计算管理平台项目&#xff0c;由几个主要的组件组合起来完成具体工作&#xff0c;支持几乎所有的云环境&#xff0c;项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台 ----百度百科 Openstack是一个云操作系统&a…

Rust通用代码生成器莲花发布红莲尝鲜版二十一发布介绍视频,前端代码生成物大翻新

Rust通用代码生成器莲花发布红莲尝鲜版二十一发布介绍视频&#xff0c;前端代码生成物大翻新 Rust通用代码生成器发布了红莲尝鲜版二十一的最新介绍视频&#xff0c;前端代码生成物大翻新。视频请见&#xff1a; Rust通用代码生成器&#xff1a;莲花&#xff0c;红莲尝鲜版二…

【QT QML】软件打包,生成安装包

一、版本 Desktop 5.15.2 MinGW 64-bit二、打包 1. 编译Release版本 2. 在工程目录下找到Realse文件夹 3. 拷贝文件 ***-Desktop_Qt_5_15_2_MinGW_64_bit-Release - release - xxx.exe到一个新文件夹中 4. 开启相应打包工具&#xff08;根据自己的编译器和版本选择&#xff0…

爬取数位观察城市数据代码展示

import requests import json from Crypto.Cipher import AES # 开始解密 from Crypto.Util.Padding import unpad #去填充的逻辑 import base64 url https://app.swguancha.com/client/v1/cPublic/consumer/baseInfo data {current: 1,"dimensionTime": "20…

java课设之简易版客房管理系统(mvc三层架构)

&#xff08;一&#xff09;、系统概述&#xff1a; 客房管理系统是一个用于管理酒店客房信息的程序&#xff0c;主要功能包括客房信息录入、客房状态查询、客房订单管理&#xff0c;客房的预定功能。 &#xff08;二&#xff09;、功能说明&#xff1a; 1.登录&#xff1a;管理…

【openGL教程08】关于着色器(02)

LearnOpenGL - Shaders 一、说明 着色器是openGL渲染的重要内容&#xff0c;客户如果想自我实现渲染灵活性&#xff0c;可以用着色器进行编程&#xff0c;这种程序小脚本被传送到GPU的显卡内部&#xff0c;起到动态灵活的着色作用。 二、着色器简述 正如“Hello Triangle”一章…

UnityWebGL UGUI中文不显示问题

这是Unity编辑中效果 打包成webgl后的效果&#xff08;中文没有显示出来&#xff09; 解决方法 将Unity默认使用的Arial替换成中文字体。 1.找到电脑字体库&#xff08;win电脑字体库路径&#xff1a;C:\Windows\Fonts &#xff1b;Mac电脑搜索“字体册”&#xff09;。 2.将…

Web3之光:揭秘数字创新的未来

随着数字化时代的深入发展&#xff0c;Web3正以其独特的技术和理念&#xff0c;为我们打开数字创新的崭新视角。作为数字化时代的新兴力量&#xff0c;Web3将深刻影响着我们的生活、工作和社会。本文将揭秘Web3的奥秘&#xff0c;探讨其在数字创新领域的前景和潜力。 1. 重新定…

Go 如何按行读取(大)文件?尝试 bufio 包提供的几种方式

嗨&#xff0c;大家好&#xff01;我是波罗学。本文是系列文章 Go 技巧第十七篇&#xff0c;系列文章查看&#xff1a;Go 语言技巧。 本文将介绍 Go 如何按行读取文件&#xff0c;基于此会逐步延伸到如何按块读取文件。 引言 我们将要介绍的按行读取文件的方式其实是非常适合…