计算机基础知识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>

标题

1、

2、

3、

标题

1、

2、

3、

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

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

相关文章

如何对非线性【SVM】进行三维可视化

首先导入相应的模块&#xff0c; from sklearn.datasets import make_blobs from sklearn.svm import SVC import matplotlib.pyplot as plt import numpy as np 我们使用make_circles()函数创建散点图&#xff0c;并将散点图中的点的横纵坐标赋值给x,y&#xff0c;其中x是特…

【Mac开发环境搭建】安装HomeBrew、HomeBrew安装Docker、Docker安装Mysql5.7和8

文章目录 HomeBrew安装相关命令安装包卸载包查询可用的包更新所有包更新指定包查看已经安装的包查看包的信息清理包查看brew的版本更新brew获取brew的帮助信息 Brew安装DockerDocker常用命令镜像相关查看已经拉取的所有镜像删除镜像 容器相关停止运行容器启动容器重启容器删除容…

vcenter跨版本升级

vcenter跨版本升级&#xff08;比如从6.7升级到7.0&#xff09;1.如果您有VCHA&#xff0c;需要关闭移除 vCenter HA 配置 2. 一定要先做好VC的备份 将VC做一个内存快照以便备份 3.下载好后&#xff0c;在电脑上解压镜像ISO&#xff0c;进入这个文件夹运行程序&#xff0c;并…

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

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

python 之异常处理结构

文章目录 常见的异常处理表现形式1. SyntaxError2. NameError3. TypeError4. IndexError5. KeyError6. ZeroDivisionError7. FileNotFoundErrortry……except …… 结构1. try 块2. except 块示例&#xff1a;多个except块try……except ……else 结构结构说明&#xff1a;示例…

MATLAB画图由于线段太多导致导出图片模糊的解决办法

Matlab画图如果figure内的线条过多&#xff0c;或者散点过多&#xff0c;导出的图片会模糊&#xff0c;解决方案 解决方法就在于figure的导出设置中。 在设置的渲染选项中&#xff0c;渲染器有两个&#xff0c;分别为painters和OpenGL&#xff0c;分别为矢量格式输出和位图输出…

Ubuntu网络IP地址一直显示127.0.0.1

问题描述&#xff1a; 终端输入ip a显示127.0.0.1&#xff0c;原来类似192.168.231.1的地址不见了。 ip a 点击网络配置&#xff08;ubuntu桌面版&#xff09;&#xff0c;发现无线网络模块看不见了 正常情况应该有wired 模块&#xff0c;就是下面标红的 解决方案&#xff1a…

【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】

【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】 1、概述2、实验环境3、 物品说明4-2、自我总结5、本次实验说明1、准备样例2、设置芯片3、编译4、下载5、验证 &#xff08;1&#xff09;windows环境下进行烧写1、下…

这些面试必备的IC项目资源,你收藏了吗?(可领取)

众所周知&#xff0c;IC行业的技术和经验是敲门砖&#xff0c;也是试金石。其中&#xff0c;IC实战项目就是关键一环。 如果你是出于个人自我学习的需要。 学习完理论基础知识还有很多地方都是一知半解的&#xff0c;接受了大量的信息输入&#xff0c;一定要有输出。所以个人…

基于ssm企业人事管理系统

功能如图所示 摘要 基于SSM&#xff08;Spring SpringMVC MyBatis&#xff09;框架的企业人事管理系统是一种高效、可定制化的人力资源管理解决方案。该系统整合了现代企业的人力资源需求&#xff0c;提供了一套功能丰富的工具&#xff0c;用于管理员工信息、薪资、考勤、招聘…

排序算法的分析及实现

目录​​​​​​​ 1. 排序 1.1. 排序的概念 1.2. 排序的稳定性 1.3. 内部排序和外部排序 2. 直接插入排序 2.1. 直接插入排序 2.2. 直接插入排序的两种情况 1. 情况一 2. 情况二 2.3. 直接插入排序的单趟排序 2.4. 直接插入排序的完整实现 2.5. 直接插入排序的时…

漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关

项目说明 在百度地图开发的过程中&#xff0c;如果遇见大数据量POI标注展示或在最佳视野展示时&#xff0c;没有文本标签&#xff0c;会不清楚具体标注的代表的意义&#xff1b;如果同时显示大量的文本标签&#xff0c;又会导致界面杂乱且无法清晰查看&#xff0c;因此&#x…