js之对象、内置对象、获取和操作DOM对象以及相关年会抽奖案例

这里写目录标题

  • 一级目录
    • 二级目录
      • 三级目录
  • 基础语法04
  • 一、对象
    • 1.定义
    • 2.特点
  • 二、对象的使用
    • 1.声明
    • 2.由属性和方法组成
    • 3.属性
    • 4.增删改查
    • 5.方法
  • 三、遍历对象
  • 四、内置对象
    • 1.介绍
    • 2.作用
    • 3.方法
    • 注意:
    • 生成任意范围的随机数
  • 五、声明变量注意
  • WebAPIs01
  • 一、Web API 基本认知
    • 1.作用和分类
    • 2.DOM
    • 3.DOM树
    • 4.DOM对象
  • 二、获取DOM对象
    • 1.根据css选择器来获取DOM对象
      • 选择匹配的第一个元素
      • 选择匹配的多个元素
    • 2.其他获取DOM元素方法
  • 三、操作元素内容
    • 1.对象.innerText 属性
    • 2.对象.innerHTML 属性
  • 年会抽奖案例
    • 案例要求
    • 大致思路
      • html:
      • css:
      • js:渲染box
        • 1.获取随机数random
        • 2.获取DOM对象
        • 3.操作元素内容
        • 4.最后记得删除数组中抽出的那个随机对象
    • 完整代码

一级目录

二级目录

三级目录

基础语法04

一、对象

1.定义

JavaScript里的一种数据类型,可以理解为无序的数据集合,数组为有序的数据集合

2.特点

无序的数据的集合,可以详细的描述某个事物

二、对象的使用

1.声明

let 对象名 = {} let 对象名=new Object()

2.由属性和方法组成

let 对象名={
属性名:属性值,
方法名:函数,
}

3.属性

属性都是成对出现的,包括属性名和值,它们之间使用英文:分隔
多个属性之间使用英文,分隔
属性就是依附在对象上的变量(外面是变量,对象内是属性)
属性名可以使用"或",一般情况下省略,除非名称遇到特殊符号如空格、中横线等

4.增删改查

查:对象.属性 或 对象名[‘属性名’]单引或双引都可以
改:对象.属性值=值
增:对象名.新属性名=新值
删:delete 对象名.属性名
其中增和改的语法类似,当对象中有这个属性时,为改,当对象没有这个属性时,为增

5.方法

let person = {
name:‘andy’,
sayHi: function(){
document.write(hi)
}
}
方法是由方法名和函数两部分构成,它们之间使用:分隔
方法调用时也可以添加形参或实参,即使没有参数也要写(),person.sayHi()
方法是依附在对象中的函数
方法名可以使用"或",一般情况下省略,除非名称遇到特殊符号如空格、中横线等

三、遍历对象

k为字符串,代表对象里带引号的属性名’name’
获得对象属性为k
获得对象值为obj[k]
for(let k in obj){
console.log(obj[k])
}

四、内置对象

1.介绍

Math对象是JavaScript提供的数学对象

2.作用

提供了一系列做数学运算的方法

3.方法

ceil:向上取整
floor:向下取整
round:四舍五入,对于负数-1.5四舍五入为-1
max:找最大数
min:找最小数
pow:幂运算
abs:绝对值
Math对象在线文档,搜索mdn文档
random:生成0-1之间的随机数(包含0不包括1)

注意:

null也是Javascript中数据类型中的一种,通常只用它表示不存在的对象,使用typeof检测类型时结果为object

生成任意范围的随机数

如何生成[N,M]的随机数Math.floor(Math.random()*(M-N+1))+N

五、声明变量注意

1.以后声明变量我们优先使用哪个?
const
有了变量先给const,如果发现它后面是要被修改的,再改为let
2.为什么consti声明的对象可以修改里面的属性?
因为对象是引用类型,里面存储的是地址,只要地址不变,就不会报错
建议数组和对象使用const来声明
3.什么时候使用let声明变量?
如果基本数据类型的值或者引用类型的地址发生变化的时候,需要用let
比如一个变量进行加减运算,比如fo循环中的i++

WebAPIs01

一、Web API 基本认知

1.作用和分类

作用:使用js操作html和浏览器,分类:DOM,BOM

2.DOM

DOM(Document Object Model-一文档对象模型)是用来呈现以及与任意HTML或XML文档交互的API
白话文:DOM是浏览器提供的一套专门用来操作网页内容的功能
作用:操作网页内容,可以开发网页内容特效和实现用户交互

3.DOM树

将HTML文档以树状结构直观的表现出来,我们称之为文档树或DOM树
描述网页内容关系的名词
作用:文档树直观的体现了标签与标签之间的关系

4.DOM对象

定义:浏览器根据html标签生成的js对象
核心思想:把网页内容当做对象来处理
document对象
是DOM里提供的一个对象
所以它提供的属性和方法都是用来访问和操作网页内容的
例:document.write()
网页所有内容都在document里面

二、获取DOM对象

1.根据css选择器来获取DOM对象

选择匹配的第一个元素

document.querySelector(‘css选择器’),可以直接修改值

选择匹配的多个元素

document.querySelectorAll(‘css选择器’),不可以直接修改值,需要遍历得到每一个元素,得到一个有长度有索引号的伪数组,但是没有pop(),push()

2.其他获取DOM元素方法

根据id获取一个元素document.getElementById(‘nav’)
根据标签获取一类元素获取页面所有div,document.getElementsByTagName(‘div’)
根据类名获取元素获取页面所有类名为w的document.getElementsByClassName(‘W’)

三、操作元素内容

1.对象.innerText 属性

将文本内容添加/更新到任意标签位置,显示纯文本,不解析标签

2.对象.innerHTML 属性

将文本内容添加/更新到任意标签位置,解析标签

年会抽奖案例

案例要求

一等奖二等奖三等奖随机各抽一个人,并且要求不重复

大致思路

html:

放一个大盒子里有strong标签的加粗标题和三个不同量级的标题,标题里放span行内元素的盒子放人名

css:

大致加些样式,也可以放背景图片

js:渲染box

1.获取随机数random

注意每一次抽奖后的数组长度都减一,所以设置一个变量 j 记录已经抽出的人数,如果不实时改变数组长度可能会抽出undefined

2.获取DOM对象

用模板字符串实时改变获取的对象

3.操作元素内容

将获取的随机人放入DOM对象中

4.最后记得删除数组中抽出的那个随机对象

完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 300px;height: 300px;margin:100px auto;background-color: #383ab5;}</style>
</head>
<body><div class="box"><strong>年会抽奖</strong><h1>一等奖:<span class="ww1"></span></h1><h3>二等奖:<span class="ww2"></span></h3><h5>三等奖:<span class="ww3"></span></h5></div><script>const arr=['邓爱琪','邵子路','周佳怡','张雅琪','赵怡婷','林已涵']let j=0for(let i=1;i<=3;i++){const random =Math.floor(Math.random()*(arr.length-j))const one = document.querySelector(`.ww${i}`)one.innerHTML = arr[random]arr.splice(random,1)}</script>
</body>
</html>

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

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

相关文章

HTML:认识HTML与基本语法的学习

前言 HTML&#xff08;超文本标记语言&#xff09;是用于创建网页的标记语言&#xff0c;由一系列标签组成&#xff0c;定义网页中的元素。由蒂姆伯纳斯 - 李于1990年代初发明&#xff0c;最初用于科研机构间共享文档&#xff0c;迅速演变为Web开发基础。无论是电商、博客、新…

力扣1984.数组任选k个数的最小极差

力扣1984.数组任选k个数的最小极差 思路&#xff1a;最终选定的k个数的方案一定可以排序成最大最小放两端的形式 所以将原数组排序 再取k长度的区间 一定能找到与原方案等价的一种方案 class Solution {public:int minimumDifference(vector<int>& nums, int k) {…

2024 年适用于 Mac 的 5 大免费录屏软件

要成为Mac的优秀屏幕录像机&#xff0c;捕获视频的高清质量和易于操作的界面是两个主要重要因素。此外&#xff0c;Mac上的付费屏幕录像机不仅可以输出高质量的屏幕捕获视频。您也可以在免费的视频捕获软件中获得类似的桌面录制服务。因此&#xff0c;如果您不需要以专业的方式…

Python 连接 Access 数据库:深入解析与实用技巧

Python 连接 Access 数据库&#xff1a;深入解析与实用技巧 在数据处理和分析的领域中&#xff0c;Python 凭借其强大的库和框架&#xff0c;成为了众多开发者和数据分析师的首选工具。然而&#xff0c;当涉及到与特定数据库如 Microsoft Access 的连接时&#xff0c;许多用户…

如何把docker里的内容拷贝出来

如何把docker里的内容拷贝出来 要从Docker容器中复制文件或目录出来&#xff0c;可以使用docker cp命令。以下是基本的命令格式和示例&#xff1a; 命令格式&#xff1a; docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH示例&#xff1a; 假设你有一个名为my_container的…

Python定义全局变量:深入剖析与实际应用

Python定义全局变量&#xff1a;深入剖析与实际应用 在Python编程中&#xff0c;全局变量是一个核心概念&#xff0c;它允许我们在函数或方法之外定义变量&#xff0c;并在整个程序范围内进行访问和修改。然而&#xff0c;全局变量的使用并非总是直观或简单的&#xff0c;它涉…

UE5增强输入系统入门

UE4直接在项目设置里设置的轴映射和操作映射在UE5中被标记为废弃&#xff0c;改为使用增强输入系统。 这两天学习了下蓝图和c中增强输入系统的使用&#xff0c;在这里分享一下。 学习使用的模板是第三人称模板(蓝图/c)&#xff0c;代码蓝图都参考的模板。 增强输入系统 UE5…

简单、实用、免费、无广告的图片自由分割工具

一、简介 1、是来自 Github 的一款简单、实用、免费、无广告的图片自由分割工具。它安装包大小在 4.5MB 左右,目前仅支持 Windows 和 Web 平台。 2、基本功能:支持图片自由纵向分割,横向分割,宫格分割,低仿 wps 看图图片分割,分割完成后,打开电脑的下载目录即可查看包含…

python-旋转字符串

问题描述&#xff1a;给定一个字符串&#xff08;以字符串数组的形式&#xff09;和一个偏移量&#xff0c;根据偏移量从左到右地旋转字符数组。 问题示例&#xff1a;输入str”abcdefg”,offset3,输出“efgabcd”。输入str”abcdefg”,offset0,输出“abcdefg”。&#xff08;返…

Python怎么打印:深入探索打印技巧与最佳实践

Python怎么打印&#xff1a;深入探索打印技巧与最佳实践 在Python编程中&#xff0c;打印&#xff08;或输出&#xff09;是一个基础且重要的操作。无论是用于调试、展示结果还是与用户交互&#xff0c;打印都扮演着关键角色。然而&#xff0c;尽管打印看似简单&#xff0c;但…

Python初学者入门:探索编程世界的奇妙之旅

Python初学者入门&#xff1a;探索编程世界的奇妙之旅 在这个信息爆炸的时代&#xff0c;编程技能已经成为一种不可或缺的能力。Python&#xff0c;作为一种简洁、易学的编程语言&#xff0c;成为许多初学者的首选。那么&#xff0c;对于初次接触Python的你&#xff0c;如何开…

clion配置ssh隧道转发 实现远程主机功能

clion配置ssh隧道转发 clion自带的ssh配置只能配置主机和用户名的格式来实现ssh&#xff0c;因此如果需要通过中间设备来访问调试主机的话就无法使用了。 配置ssh隧道的方式有两种&#xff0c;一种是直接配置 ~/.ssh/config 配置文件&#xff0c;一种是使用跳板机工具。clion…

Python热重载调试新利器

你一定遇到过这种情况&#xff1a;Python脚本已经运行&#xff0c;却发现自己忘记打印输出需要记录的信息(比如for循环中打印更多详细信息)。 此时&#xff0c;如若暂停运行的代码&#xff0c;修改补充再重新运行整个代码&#xff0c;尤其对于已经运行数多个小时的模型训练来说…

机械硬盘坏道的文件系统级别的屏蔽方法

从5月中旬无意看到拼夕夕有9.9的320g的小硬盘&#xff0c;于是我就买了几个回来&#xff0c;结果20元老板发给了我7个&#xff01;&#xff01;&#xff01;我个人还是比较惊讶的&#xff0c;难道不值钱到这地步了吗&#xff0c;相当于20元2T硬盘的数据量了&#xff01;我本来打…

生成式 AI——ChatGPT、Dall-E、Midjourney 等算法理念探讨

1.概述 艺术、交流以及我们对现实世界的认知正在迅速地转变。如果我们回顾人类创新的历史&#xff0c;我们可能会认为轮子的发明或电的发现是巨大的飞跃。今天&#xff0c;一场新的革命正在发生——弥合人类创造力和机器计算之间的鸿沟。这正是生成式人工智能。 生成模型正在模…

python替换“${}“占位符为变量,实现读取配置文件

文章目录 背景1、定义正则表达式2、替换变量占位符3、实现功能 背景 使用python编写小工具&#xff0c;有一个配置文件&#xff0c;希望实现类似shell命令的&#xff0c;定义变量并且使用${}或者$来引用。如果有好的建议欢迎讨论。 配置文件示例内容如下: D:\project\test\pr…

K8S为什么弃用Docker:容器生态的演进与未来

引言 Kubernetes&#xff08;K8S&#xff09;自2014年由Google发布以来&#xff0c;已成为容器编排和管理的事实标准。Docker作为容器技术的先驱&#xff0c;曾与Kubernetes紧密合作&#xff0c;提供了容器运行时的基础。然而&#xff0c;随着容器生态的快速发展&#xff0c;K…

IGraph使用实例——线性代数计算(blas)

1 概述 在图论中&#xff0c;BLAS&#xff08;Basic Linear Algebra Subprograms&#xff09;并不直接应用于图论的计算&#xff0c;而是作为一套线性代数计算中通用的基本运算操作函数集合&#xff0c;用于进行向量和矩阵的基本运算。然而&#xff0c;这些基本运算在图论的相…

csrf漏洞与ssrf漏洞

环境&#xff1a;用kali搭建的pikachu靶场 一.CSRF 1.CSRF漏洞简介 跨站请求伪造&#xff08;CSRF&#xff09;漏洞是一种Web应用程序安全漏洞&#xff0c;攻击者通过伪装成受信任用户的请求来执行未经授权的操作。这可能导致用户在不知情的情况下执行某些敏感操作&#xff0…

遥感之特征选择-禁忌搜索算法

各类智能优化算法其主要区别在于算法的运行规则不同&#xff0c;比如常用的遗传算法&#xff0c;其规则就是变异&#xff0c;交叉和选择等&#xff0c;各种不同的变体大多是在框架内的实现细节不同&#xff0c;而本文中的禁忌算法也是如此&#xff0c;其算法框架如下进行介绍。…