计算机基础知识45

JS的RegExp对象(正则)

text: 正则校验数据         # T/F

match: 匹配     #  (3) ['s', 's', 's']

//定义
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;
//正则校验数据
var res = reg1.test('jason666');
console.log(res);
//全局匹配
var s1 = 'egonsb dsb dsb';
var res1 = s1.match(/s/);    //第一个s的位置
var res2 = s1.match(/s/g);    //大小写都能匹配
var res3 = s1.match(/s/gi);    //i:忽略大小写
console.log(res1);
console.log(res2);
console.log(res3);

JS的Math对象

abs(x)      返回数的绝对值。
exp(x)      返回 e 的指数。
floor(x)    对数进行下舍入。
log(x)      返回数的自然对数(底为e)。
max(x,y)    返回 x 和 y 中的最高值。
min(x,y)    返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次幂。
random()    返回 0 ~ 1 之间的随机数。
round(x)    把数四舍五入为最接近的整数。
sin(x)      返回数的正弦。
sqrt(x)     返回数的平方根。
tan(x)      返回角的正切。

前端基础之BOM和DOM

# JavaScript包括三部分:

         ECMAScript核心语法+DOM(操作一些文档:css、HTML)+BOM(浏览器相关的)

BOM(Browser Object Model)是指浏览器对象模型,它使 JS 有能力与浏览器进行“对话”
   DOM(Document Object Model)是指文档对象模型,通过它可以访问HTML文档的所有元素

BOM之window对象

# 所有浏览器都支持 window 对象。它表示浏览器窗口

# 一些常用的Window方法:

  • window.innerHeight - 浏览器窗口的内部高度
  • window.innerWidth - 浏览器窗口的内部宽度
  • window.open() - 打开新窗口
  • window.close() - 关闭当前窗口

# 当你访问一个链接的时候,如果是通过浏览器访问的,请求头中会自动携带User-Agent参     数,有了这个参数,说明此时来的请求是人访问的(浏览器访问的)

# 我们访问一个链接地址时,可以通过浏览器发起请求,还可以通过程序去访问 

# window的子对象:

           navigator对象\screen对象\history对象\location对象\弹出框\计时相关

navigator.appName  // Web浏览器全称
navigator.appVersion  // Web浏览器厂商和版本的详细字符串
navigator.userAgent  // 客户端绝大部分信息
navigator.platform   // 浏览器运行所在的操作系统screen.availWidth //可用的屏幕宽度
screen.availHeight //可用的屏幕高度history.forward()  // 前进一页
history.back()  // 后退一页location.href  //获取URL
location.href="URL" // 跳转到指定页面
location.reload() //重新加载页面

#  弹出框: 警告框、确认框、提示框

alert("你看到了吗?");    //警告框经常用于确保用户可以得到某些信息
confirm("你确定吗?")    //确认框用于使用户可以验证或者接受某些信息
prompt("请在下方输入","你的答案")    //提示框经常用于提示用户在进入页面前输入某个值

# 计时相关:

// 在指定时间之后执行一次相应函数
var timer = setTimeout(function(){alert(123);}, 3000)
// 取消setTimeout设置
clearTimeout(timer);

# 案例:计时器+弹出框

function func2() {alert(123)
}
function show(){let t = setInterval(func2,3000);  // 每隔3秒执行一次function inner(){clearInterval(t)  // 清除定时器}setTimeout(inner,9000)  // 9秒中之后触发
}
show()

DOM的概要

# DOM标准规定HTML文档中的每个成分都是一个节点(node):

  • 文档节点(document对象):代表整个文档
  • 元素节点(element 对象):代表一个元素(标签)
  • 文本节点(text对象):代表元素(标签)中的文本
  • 属性节点(attribute对象):代表一个属性,元素(标签)才有属性
  • 注释是注释节点(comment对象)

# JavaScript 可以通过DOM创建动态的 HTML:

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

DOM之查找标签

直接查找:

document.getElementById           根据ID获取一个标签
document.getElementsByClassName   根据class属性获取
document.getElementsByTagName     根据标签名获取标签合集

间接查找:

parentElement            父节点标签元素
children                 所有子标签
firstElementChild        第一个子标签元素
lastElementChild         最后一个子标签元素
nextElementSibling       下一个兄弟标签元素
previousElementSibling   上一个兄弟标签元素

DOM之节点操作

1、 创建节点/添加节点/删除节点/属性节点

# 创建img标签:

<div id="d1">宇宙山河烂漫 人间点滴温暖都值得我前进
</div>
<script>var img = document.createElement('img');   // <img>var div = document.getElementById('d1');// 增加属性img.src = 'https://img0.baidu.com/it/u=3314295636,4109132557&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500';img.alt = '尊嘟假嘟'img.id = 'img1';// 如果是点语法,只能够增加自带的属性,自定义的属性用setAttributeimg.setAttribute('username', 'kevin');// 获取一个属性console.log(img.getAttribute('username'))// 删除img.removeAttribute('username');// 把图片放到div中div.appendChild(img);console.log(img);
</script>

# 创造a标签:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
<body>
<div id="d1"></div>
<script>// 创建a标签var a = document.createElement('a'); // <a></a>var div = document.getElementById('d1');// 增加属性a.href = 'http://www.baidu.com';// <aa.title = '好好玩*';a.setAttribute('username', ' aaa');a.getAttribute('username')a.innerHTML = '<h1>一定要开心鸭~</h1>';// 把a网址放到div中div.appendChild(a);console.log(a);
</script>
</body>
</html>

2、 获取值操作语法:elementNode.value

   适用于以下标签:

             .input / .select / .textarea / value不能获取文件数据,获取文件数据要用files

var iEle = document.getElementById("i1");
console.log(iEle.value);

3、指定CSS操作

className  获取所有样式类名(字符串)classList.remove(cls)  删除指定类
classList.add(cls)  添加类
classList.contains(cls)  存在返回true,否则返回false
classList.toggle(cls)  存在就删除,否则添加

DOM之事件

# 常用事件:

onclick        当用户点击某个对象时调用的事件句柄。
ondblclick     当用户双击某个对象时调用的事件句柄。onfocus        元素获得焦点。               // 练习:输入框
onblur         元素失去焦点。    
//应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange       域的内容被改变。  
//应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动)
onkeydown      某个键盘按键被按下。   
//应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onkeypress     某个键盘按键被按下并松开。
onkeyup        某个键盘按键被松开。
onload         一张页面或一幅图像完成加载。
onmousedown    鼠标按钮被按下。
onmousemove    鼠标被移动。
onmouseout     鼠标从某元素移开。
onmouseover    鼠标移到某元素之上。onselect      在文本框中的文本被选中时发生。
onsubmit      确认按钮被点击,使用的对象是form。

# 方式1:this是实参,表示触发事件的当前元素,函数定义过程中的ths为形参

<div id="d1" onclick="changeColor(this);">点我</div>
<script>function changeColor(ths) {ths.style.backgroundColor="green";}
</script>

# 方式二:用的多

<div id="d2">点我</div>
<script>var divEle2 = document.getElementById("d2");divEle2.onclick=function () {this.innerText="呵呵";}
</script>

事件示例--开关灯

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><meta name="viewport" content="width=device-width, initial-scale=1"><style>.c1 {height: 400px;width: 400px;border-radius: 50%;
}
.bg_green {background-color: greenyellow;
}
.bg_red {background-color: red;
}
</style></head><body><div id="d1" class="c1 bg_red bg_green"></div><button id="d2">变色</button><script>let btnEle = document.getElementById('d2')
let divEle = document.getElementById('d1')
btnEle.onclick = function () {  // 绑定点击事件// 动态的修改div标签的类属性divEle.classList.toggle('bg_red')
}</script></body></html>

事件示例--input事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta name="viewport" content="width=device-width, initial-scale=1"></head>
<body>
<input type="text" value="老板 去吗?" id="d1"><script>let iEle = document.getElementById('d1')// 获取焦点事件iEle.onfocus = function () {// 将input框内部值去除iEle.value = ''//  点value就是获取   等号赋值就是设置}// 失去焦点事件iEle.onblur = function () {// 给input标签重写赋值iEle.value = '没钱 不去!'}
</script>
</body>
</html>

定时器示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<input type="text" id="i1">
<button id="b1">开始</button>
<button id="b2">结束</button><script>var t;  //全局变量function showTime() {var i1Ele = document.getElementById('i1');var time = new Date();  //现在的时间i1Ele.value = time.toLocaleString();}showTime();  //调用var b1Ele = document.getElementById('b1');b1Ele.onclick = function (ev) {if (!t){t = setInterval(showTime,1000)   //每隔一秒刷新一次}};var b2Ele = document.getElementById('b2');b2Ele.onclick = function (ev) {clearInterval(t);    //清除定时器t = undefined   //什么都没有};</script>
</body>
</html>

今日思维导图:

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

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

相关文章

前端之Bootstrap框架

目录 【一】Bootstrap介绍 【二】Bootstrap引入 【1】CDN加速链接 【2】注意 【三】布局容器 【四】栅格系统 【五】栅格参数 【六】列偏移 【七】排版 标题 内联文本元素 对齐 改变大小写 引用 列表 【八】表格 基本实例 条纹状表格 带边框的表格 鼠标悬停…

接口测试总结

本文主要分为两个部分&#xff1a; 第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者之前的区别与联系。但该部分只交代了怎么做和如何做&#xff1f;并没有解释为什么要做&#xff1f; 第二部分&#xff1…

武汉某母婴用品公司 - 集简云连接ERP和营销系统,实现库存管理的自动化

品牌介绍与关怀理念 武汉某母婴用品公司是一家专注于高端孕婴童护理用品的企业&#xff0c;积极响应和关怀孕产人群&#xff0c;全方位提供从待产用品到产后护理用品&#xff0c;再到婴童洗护用品和初生婴儿用品等一系列全面的母婴产品。我们的使命是满足客户的需求&#xff0…

SpringBoot集成-阿里云对象存储OSS

文章目录 阿里云 OSS 介绍准备工作SpringBoot 集成 OSS 阿里云 OSS 介绍 阿里云对象存储 OSS &#xff08;Object Storage Service&#xff09;&#xff0c;是一款海量、安全、低成本、高可靠的云存储服务。使用 OSS&#xff0c;你可以通过网络随时存储和调用包括文本、图片、…

前端常用的开发工具有哪些?

目录 内置管理系统的通用场景 前后端代码生成器 权限管控 开放源码 运行性能 主流数据库 写在最后 目前使用的是JNPF框架。 前端采用Vue.js&#xff0c;这是一种流行的前端JavaScript框架&#xff0c;用于构建用户界面。Vue.js具有轻量级、可扩展性强和生态系统丰富等特点&…

NCV7721D2R2G一款完全保护的双半桥驱动器 专为汽车工业运动控制解决方案

NCV7721D2R2G是一款完全保护的双半桥驱动器&#xff0c;专为汽车和工业运动控制应用而设计。两个半桥驱动器具有独立控制。这允许高侧、低侧和H桥控制。H桥控制提供正向、反向、制动和高阻抗状态。驱动器通过逻辑电平输入进行控制。 特性&#xff1a; 1.睡眠模式下的超低静态电…

Python 实现动态动画心形图

在抖音上刷到其他人用 matlab 实现的一个动态心形图&#xff0c;就想也用 Python 实现&#xff0c;摸索了两种实现方式&#xff0c;效果如下&#xff1a; 方法一&#xff1a; 利用循环&#xff0c;结合 pyplot 的 pause 与 clf 参数实现图像的动态刷新 import matplotlib.p…

AirTag追踪汽车

美国华盛顿特区&#xff0c;11月4日&#xff0c;在一项全新的抗击车辆盗窃的措施中&#xff0c;市长穆里尔•鲍泽签署了一项新计划&#xff0c;将向该市车辆盗窃频率较高的社区居民免费提供苹果AirTag追踪器。 AirTag是苹果公司推出的一款蓝牙跟踪设备&#xff0c;它依靠Findm…

华为eNSP实验-DHCP实验(简易入门版)

1.拓扑图 2.R1配置 <Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [R1]ip pool PC [R1-ip-pool-PC]gateway-list 192.168.1.1 [R1-ip-pool-PC]network 192.168.1.0 mask 24 [R1-i…

缓存-Spring Cache 缓存抽象

缓存-Spring Cache 缓存抽象 Spring从版本3.1开始提供非侵入的将Cache集成到Spring应用的方式。Spring Cache提供Cache的统一抽象&#xff0c;支持集成各种不同的缓存解决方案。从4.1版本开始&#xff0c;提供了注解和更多的定制参数。 Spring Cache 抽象提供了对Java方法的缓存…

台式电脑怎么无损备份迁移系统到新硬盘(使用傲梅,免费的就可以)

文章目录 前言一、想要将源硬盘上的系统原封不动地迁移到新硬盘上二、准备工作2.具体步骤 总结 前言 半路接手公司一台台式电脑&#xff0c;C盘&#xff08;120g&#xff09;爆红&#xff0c;仅剩几个G&#xff0c;优化了几次&#xff0c;无果后。准备换一个大一点的增到500g。…

智能井盖生产商家,万宾科技井盖传感器产品详情

市政府管理水平决定城市人民幸福程度&#xff0c;所以在智慧城市推进过程中&#xff0c;市政府也在加快城市信息基础设施建设&#xff0c;希望提高公共服务水平&#xff0c;以此来满足城市居民的需求&#xff0c;进一步推进城市信息化智能化发展。作为城市生命线的一个组成部分…

成绩公布方式,这样操作更方便

老师们&#xff01;又到了期中&#xff0c;是不是又在为如何安全、高效的公布学生成绩而烦恼呢&#xff1f;别担心&#xff0c;今天我就给大家分享几种超实用的成绩公布方式&#xff0c;不仅减轻了你的工作负担&#xff0c;还能让学生和家长们也方便&#xff01; 1 Excel表格&a…

apache-tomcat-9.0.29 安装配置教程

链接&#xff1a;https://pan.baidu.com/s/100buXYpn8w8xjI2KdvHk2Q?pwd2mwc 提取码&#xff1a;2mwc 1.将压缩包解压到指定文件夹下 2.进入bin文件夹下 3.找到setclasspath.bat文件 4.推荐用notepad打开文件&#xff0c;并做如下配置&#xff08;可解决tomcat启动闪退问题&…

查询优化器:RBO与CBO

SQL查询优化器 1、数据库系统发展简史2、SQL查询优化器3、查询优化器分类4、查询优化器执行过程5、CBO框架Calcite简介 1、数据库系统发展简史 数据库系统诞生于20世纪60年代中期&#xff0c;至今已有近50多年的历史&#xff0c;其发展经历了三代演变&#xff0c;造就了四位图灵…

uniapp H5预览PDF支持手势缩放、分页、添加水印、懒加载、PDF下载

效果预览 项目说明 uniapp vue2 node&#xff1a;v14.18.3 npm&#xff1a; 6.14.15 安装pdfh5.js插件 pdfh5 - npm (npmjs.com)pdfh5.js 基于pdf.js和jQuery pdfh5 - npm (npmjs.com) npm install pdfh5 由于我安装最新的pdfh5.js后运行时报错 所以我选择降低版本,可能是node…

【数据结构】堆排序和top-K问题

堆的实现源码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <stdlib.h> #include <time.h> #include <stdbool.h> #include <assert.h> typedef struct Heap {int* a;int size;int capacity; }Heap; void HeapInit(Heap* st) {…

R语言 复习 习题图片

这是日天土申哥不知道从哪淘来的R语言复习知识点图片&#xff0c;大部分内容都是课后习题的答案 加油吧&#xff0c;骚年&#xff0c;考个好分数

董事长孙进任职资格获批,盛京银行坎坷向前

11月6日&#xff0c;国家金融监管总局行政许可信息显示&#xff0c;盛京银行&#xff08;HK:02066&#xff09;董事长孙进的任职资格已于近日获准。 作为东北地区成立最早、规模最大的总部银行&#xff0c;盛京银行近年来的发展之路颇为坎坷&#xff0c;在经历了大规模的管理层…

2023最新版JavaSE教程——第1天:Java语言概述

目录 一、抽丝剥茧话Java1.1 当前大学生就业形势1.2 IT互联网是否依旧靠谱1.3 IT行业岗位分析1.4 软件开发之Java开发1.5 到底多少人在用Java 二、计算机的硬件与软件2.1 计算机组成&#xff1a;硬件软件2.2 CPU、内存与硬盘2.3 输入设备&#xff1a;键盘输入 三、软件相关介绍…