山西农业大学20241011

news2024/12/23 22:17:51

03-JAVASCRIPT

    • 一.数组
    • 二.BOM
      • 1. window对象
      • 2. location对象
      • 3. history对象
      • 4. navigator对象
      • 5. screen对象
      • 6. cookie对象
    • 三.DOM操作
      • 1. 概述
      • 2. 查找元素
        • 2.1 id方式
        • 2.2 标签名方式
        • 2.3 class名方式
        • 2.4 css选择器方式

一.数组

<script>
    // 1. 创建数组, 通过数组字面量
    //           0     1   2    3   4
    var emps = ['zs','ls','ww',20,true];
    console.log(emps);
    // 2. 元素的访问   数组[下标]
    // 下标从0开始的整数, 如果下标不存在则返回undefined
    console.log(emps[1]);
    let laptop=[];
    laptop[0] = '小米';
    laptop[1] = '华为';
    laptop[2] = '外星人';
    console.log(laptop);
    laptop[1] = '苹果';
    console.log(laptop);

    // 3. 数组的长度
    // 数组.length 获取数组元素的个数
    console.log(laptop.length);  //3
    // 为laptop数组末尾添加元素  数组[laptop.length] = 值
    laptop[laptop.length] = '戴尔';

    // 4.内置构造函数
    var arr = new Array('a','b','c','d');
    console.log(arr);

    var arr1 = new Array(3); // 初始化数组的长度为3,可以添加更多个元素
    arr1[0] = 'mysql';
    arr1[1] = 'js';
    arr1[2] = 'java';
    arr1[3] = 'nodejs';
    arr1[4] = 'Vue';

    console.log(arr1);

    // 5.数组分类
    // 索引数组 : 以0及以上的整数作为下标
    // 关联数组 : 以字符串为下标, 需要单独添加元素
    var person = [];
    person['name'] = '张三';
    person['gender'] = '男';
    person.age = 35;
    console.log(person);

    // 6.数组的遍历
    // 索引数组 --- for循环
    for (let i=0;i<arr1.length;i++){
        console.log(arr1[i]);
    }
    // 关联数组? --- for in循环
    for (var k in person){
        // k代表数组的下标 : 数字 或 字符串
        console.log(k);
        console.log(person[k]);
    }
    // 7.API
    // toString() 将数组转为字符串
    console.log(arr.toString());
    // join(str) 将数组转为字符串,可以设置字符串之间的分隔符
    console.log(arr.join('/'));
    // reverse() 翻转数组中的元素
    arr1.reverse();  // 修改原数组的数据
    console.log(arr1);
    // sort() 对数组进行排序, 默认按照编码排序
    var arr2 = [23,9,78,6,35];
    arr2.sort((a,b) => a-b);  // 升序排序
    arr2.sort((a,b) => b-a);  // 降序排列
    console.log(arr2);

    // concat(arr2,arr3...) 拼接多个数组, arr2和arr3表示要拼接的数组,
    // 返回拼接后的数组
    arr.concat(arr1);
    console.log(arr.concat(arr1,arr2));
    let arrCon = arr.concat(arr1,arr2)
    // slice(start,end) 截取数组元素(含头不含尾)
    console.log(arrCon.slice(5,7));
    // splice(start,count,V1,V2...)
    // 删除数组中的元素;
    // start: 开始的下标, 下标为负数表示倒数
    // count: 删除的数量, count为空,删除到最后
    // V1,V2...: 表示删除后补充的元素,返回删除的元素, 原数组发生变化
    console.log("删除前:"+arrCon);
    console.log("删除的数据:"+arrCon.splice(5,2));
    console.log("删除后:"+arrCon);

    // indexOf() 查找数组中是否包含某个元素, 返回找到的第一个的下标, 如果找不到,返回-1
    console.log(arrCon.indexOf('java'));  // -1
    console.log(arrCon.indexOf('mysql'));  // 6

    // push():往数组的末尾添加元素, 返回数组长度
    // pop():删除数组末尾的一个元素, 返回删除的元素
    // unshift(): 往数组的开头添加一个元素, 返回数组长度
    // shift(): 删除数组开头的一个元素, 返回删除的元素


</script>

二.BOM

BOM: 是指浏览器对象模型, 浏览器对象模型是提供了独立于内容, 可以和浏览器窗口进行互动的对象结构; BOM操指与浏览器窗口进行互动的操作
常见的BOM对象:

  • window
  • location
  • history

1. window对象

window对象是一个全局对象, 可以提供一些全局的属性和方法,包括操作浏览器窗口的属性和方法

  • alert(): 显示一个警示框
  • confirm() : 显示一个确认框.返回用户选择的布尔值
  • prompt() : 显示一个输入框,返回用户输入的值
	window.alert("123");
    let name = window.prompt("请输入姓名");
    console.log(name);
    let bool = window.confirm("请确认");
    console.log(bool);  //点击确认:true; 点击取消: false

window常用属性

// 获取浏览器可视区域的宽度和高度
    console.log(window.innerHeight);
    console.log(window.innerWidth)
    // 获取浏览器窗口整体高度和宽度(包含窗口的装饰;工具栏,滚动条)
    console.log(window.outerHeight);
    console.log(window.outerWidth);
  • window.open() : 可以用来打开一个新的浏览器窗口或标签页
  • window.close() : 可以用来关闭当前窗口(一般只能关闭由window.open()打开的窗口)
  • setTimeout(); 在指定时间后执行一次函数
  • setInterval(): 每隔一段时间重复执行函数

2. location对象

location对象: 提供了对当前文档(网页)URL的访问和操作; 通过location对象, 开发者可以获取当前页面的URL信息, 重定向到新页面, 或者重新加载当前页面

<script>
    console.log(location);
    // 1.location.href 获取浏览器地址栏的信息
    console.log(location.href);
    // 2.location.href="url" 跳转到指定路径的网页
    // 定时器
    setTimeout(function () {
        location.href="https://www.baidu.com"
    },2000); //2s后跳转到百度页面
    // 3. 获取本地ip localhost
    console.log(location.hostname);
    // 4. 获取运行环境 localhost:63342
    console.log(location.host); 
</script>

3. history对象

History对象: 用于处理浏览器的历史记录, 它允许开发者不重新加载页面的情况下, 管理用户的导航历史

<h3>History对象</h3>
<a href="./12BOM操作_location.html">跳转到12</a>
<script>
    console.log(history);
</script>

4. navigator对象

5. screen对象

6. cookie对象

三.DOM操作

1. 概述

DOM: Document Object Model 文档对象模型
页面的HTML代码是如何运行在浏览器中的
在这里插入图片描述

2. 查找元素

2.1 id方式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM_查找元素_id方式</title>
</head>
<body>
<div>
<!--    id:唯一标识, 要求不重复-->
    <span id="s1">Hello 山西</span>
    <span>Hello World</span>
</div>
<script>
    // 通过id查找指定元素
    console.log(document.getElementById("s1"));
    // 简化: id使用频率非常高,系统会自动完成查找
    console.log(s1);// 直接打印id名称. 不推荐

</script>
</body>
</html>
2.2 标签名方式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM_查找元素_标签名</title>
</head>
<body>
<div>
    <div>
        <span>111</span>
    </div>
    <div>
        <span>222</span>
    </div>
</div>
<script>
    //通过标签名查找元素
    //注意:Elements 代表复数,因为同标签名的元素可以由多个
    console.log(document.getElementsByTagName('span'));
</script>
</body>
</html>
2.3 class名方式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM_查找元素_class方式</title>
</head>
<body>
<div class="danger">111</div>
<div>222</div>
<div class="danger">333</div>
<script>
    // 通过class名查找
    console.log(document.getBElementsyClassName("danger"));
</script>
</body>
</html>
2.4 css选择器方式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM_查找元素_CSS选择器</title>
</head>
<body>
<div id="left">left</div>
<div id="right">right</div>
<div class="jump">
    <a href="">百度</a>
</div>
<script>
    // 元素选择器
    // querySelector() 返回满足条件的第一个元素
    console.log(document.querySelector('div'));// left
    // querySelectorAll() 返回满足条件的所有元素 NodeList
    console.log(document.querySelectorAll('div'));
    // 后代选择器
    console.log(document.querySelector('.jump>a'));
    // 注意: querySelecto没有满足条件的元素,返回null
    // querySelectorAll没有满足条件的元素,返回空数组
</script>
</body>
</html>

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

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

相关文章

不卷且创新idea:KAN+特征提取!10篇高分套路拆解,快来抄作业!

今天和大家分享一种创新的深度学习技术&#xff1a;KAN特征提取。 这种技术通过引入KAN来增强模型的特征处理能力&#xff0c;借由KAN的自适应激活函数&#xff0c;动态调整数据特性&#xff0c;从而有效提取更加准确的特征&#xff0c;实现更高性能的模型表现。 这种优势让K…

离散微分几何基础:流形概念与网格数据结构

一、流形概念的引入 &#xff08;一&#xff09;微分几何核心概念——流形 在微分几何的广袤领域中&#xff0c;流形概念占据着核心地位。它如同一个神秘的基石&#xff0c;支撑着我们对各种几何形状和空间的深入理解。就像网格和抽象的单纯复数是我们探索拓扑结构&#xff08…

使用阿里云盘将服务器上的文件上传/下载到云盘/服务器

阿里云盘官方文档&#xff1a; 具体的操作步骤这里都有&#xff1a; https://github.com/tickstep/aliyunpan 具体步骤 &#xff1a; 安装&#xff1a; wget https://github.com/tickstep/aliyunpan/releases/download/v0.3.4/aliyunpan-v0.3.4-linux-amd64.zip【这里最好下…

服务器与内存市场|2025预测动态早知道

根据TrendForce的数据分析报告&#xff0c;三大DRAM供应商在2023年服务器总bit增长率经历了不同程度下滑后&#xff0c;2024年市场迎来了反弹&#xff0c;增长率分别达到了9.9%/12.3%/24.1%。这一转变表明服务器DRAM在三大供应商中的比例预计将会增加。与此同时&#xff0c;由于…

Java项目实战II养老||基于Java+Spring Boot+MySQL的社区智慧养老监护管理平台设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着老龄化…

ConditionVideo: 无训练的条件引导视频生成 | AAAI 2024

作者&#xff1a;彭博&#xff0c;上海人工智能实验室与上海交大2023级联培博士。 最近的工作已经成功地将大规模文本到图像模型扩展到视频领域&#xff0c;产生了令人印象深刻的结果&#xff0c;但计算成本高&#xff0c;需要大量的视频数据。在这项工作中&#xff0c;我们介…

26.第二阶段x86游戏实战2-C++遍历背包物品

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

如何创建一个node.js项目并配置

要想创建一个node.js项目&#xff0c;首先的话要先有npm和node.js环境&#xff0c;没有的同学可以参考一下连接&#xff1a;npm安装-详细教程-CSDN博客 一、创建node.js项目文件 注意&#xff1a;windows系统创建时文件名不能有汉字和空格 我创建了一个文件夹叫nodejswork 二…

离线使用k8s部署项目

docker的安装与完全卸载&#xff08;亲测可用&#xff09; docker的安装与完全卸载 然后配置镜像加速器 vi /etc/docker/daemon.json 将找到的镜像仓库地址写入 具体内容可以参考此网站时刻更新镜像源仓库 然后保存退出 执行 systemctl daemon-reloadsystemctl restart…

第J3周:DenseNet算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 文章目录 一、前期工作二、模型复现1、设置GPU2、导入数据3、加载数据4. 配置数据集5. 可视化数据6、构建DenseNet121网络7、编译8、训练模型9、模型评估 三、…

H3C IPsec over GRE VPN 实验

H3C IPsec over GRE VPN 实验 实验拓扑 ​​ 实验需求 按照图示配置 IP 地址,R1 和 R3 配置 Loopback0 口模拟业务网段R1 和 R3 上配置默认路由连通公网R1 和 R3 上配置 IPsec over GRE VPN 来连通两端内网R1 和 R3 配置 OSPF 来传递内网路由实验步骤 按照图示配置 IP 地址…

b站视频下载, b站视频下载助手 如何下载哔哩哔哩视频

1. 链接&#xff1a; 哔哩哔哩(bilibili)视频解析下载 - 保存B站视频到手机、电脑 2. 下载即可

多线程——线程安全

目录 前言 一、观察线程不安全 二、线程安全概念 三、产生线程安全问题的原因 1.分析示例代码 2.线程随机调度 3.修改共享数据 4.原子性 5.可见性 6.指令重排序 四、解决示例代码的问题 结尾 前言 我们学习多线程编程的目的是为了能够实现“并发编程”&#xff0c;…

WAFER连接器在现代电子领域的多样化应用

WAFER连接器是一种广泛应用于现代电子设备中的连接组件&#xff0c;其设计和功能使其在多种应用场景中表现出色。作为一种高效、可靠的连接解决方案&#xff0c;WAFER连接器凭借其小巧、精密的设计赢得了工程师和设计师的青睐。这篇文章将探讨WAFER连接器在不同行业和应用领域中…

力扣第1题:两数之和(图解版)

Golang版本 func twoSum(nums []int, target int) []int {m : make(map[int]int)for i : range nums {if _, ok : m[target - nums[i]]; ok {return []int{i, m[target - nums[i]]}} m[nums[i]] i}return nil }

pip install ERROR: Could not install packages due to an OSError

问题解决 pip install xxx报错&#xff1a; WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) ERROR: Could not install packages due to an OSError 使用 pip install xxx --user 安装

游离的 HEAD 如何解决

简介 问题描述&#xff1a;使用 IDEA 在提交代码时&#xff0c;禁止提交 如何解决&#xff1a;迁出分支再提交&#xff0c;最后合并到 main 或 master 上 如何解决

面向抽象和面向接口的区别

‌1.概念 01、抽象类 在 Java 中&#xff0c;通过关键字 abstract 定义的类叫做抽象类。Java 是一门面向对象的语言&#xff0c;因此所有的对象都是通过类来描述的&#xff1b;但反过来&#xff0c;并不是所有的类都是用来描述对象的&#xff0c;抽象类就是其中的一种。 以下示…

接口测试常用工具及测试方法

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 接口一般来说有两种&#xff0c;一种是程序内部的接口&#xff0c;一种是系统对外的接口。 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信…