当前位置: 首页 > news >正文

JavaWeb:JavaScript

概述

什么是JavaScript?

在这里插入图片描述

一、引入方式

JS引入方式

在这里插入图片描述

小结

在这里插入图片描述

二、基础语法

书写规范

在这里插入图片描述

输出语句

在这里插入图片描述
在这里插入图片描述

变量

在这里插入图片描述

常量

在这里插入图片描述
在这里插入图片描述

数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运算符

在这里插入图片描述

类型转换

在这里插入图片描述

流程控制

在这里插入图片描述

小结

在这里插入图片描述

三、函数-类似Java中方法

函数

在这里插入图片描述

匿名函数

在这里插入图片描述

小结

在这里插入图片描述

四、对象

内置对象

Array

在这里插入图片描述
在这里插入图片描述

        //1. 定义数组// 方式1let arr = [1, 2, 3, 4, 5];console.log(arr);// 方式2let arr2 = new Array(1, 2, 3, 4, 5);// 长度为5console.log(arr2);arr2[10]="hello";console.log(arr2);//2. 数组属性 - lengthconsole.log("长度:" + arr2.length);for(let i=0;i<arr2.length;i++){console.log(arr2[i]);}// 快捷方式// for loop//3. 数组方法 - forEach , map,  push , pop , unshift , shift , splice// 只会变量有值元素arr2.forEach(item=>{console.log(item);})// maplet arr3 = arr2.map(item=>{return e+10;})// push尾部添加 pop 尾部移除  栈:先进后出let arr4 = ['a'];arr4.push('b', 'b', 'c');console.log(arr4);arr4.pop();console.log(arr4);// shift 头部移除  队列:先进先出// slice 删除元素let arr5 = [1,2,3,4,5,6,7,8,9];let newArr = arr5.slice(2,3);// 起始位置,删除几个console.log(newArr);

小结
在这里插入图片描述

String

在这里插入图片描述

        //1. 创建字符串let str = 'Hello JS    ';let str2 = new String('Hello JS');alert(str);alert(str2);//2. 字符串属性 - lengthalert(str.length);alert(str2.length);//3. 字符串方法 - charAt , indexOf , trim , substringalert(str.charAt(0));// Halert(str.indexOf('llo'));// 2alert(str.trim());alert(str.substring(2,5));// llo    包左不包右

小结
在这里插入图片描述

JSON

JS自定义对象
在这里插入图片描述

       //1. 自定义JS对象let obj = {name: '张三',age: 20,gender: '男',sing() {alert('I can sing')}}// 调用对象属性和方法alert(obj.name);obj.sing();

JSON对象
在这里插入图片描述

        // 调用对象属性和方法alert(obj.name);obj.sing();//2. JSON对象let jsonStr = '{"name":"张三","age":20,"gender":"男"}';// alert(jsonStr.name);// 错误undefined// JSON.parse() - 将JSON字符串转为对象let js = JSON.parse(jsonStr);alert(js.name);// JSON.stringify() - 将对象转为JSON字符串let jsStr = JSON.stringify(js);alert(jsStr);// 字符串形式// let objStr = JSON.stringify(obj);

小结
在这里插入图片描述

BOM

概念

在这里插入图片描述

Window

在这里插入图片描述

        //1. 窗口对象window.alert('Hello JS');let flag = window.confirm('是否继续');// 确定 true    console.log(flag);// window.prompt('请输入你的名字');// 定时器let i = 0;setInterval(() =>{i++;console.log(i);alert('定时器执行 ' + i + '次');}, 1000);// 延迟时间setTimeout(() => {alert('定时器执行完毕');}, 3000);
Location

在这里插入图片描述

  //2. Location对象alert(location.href);location.href = 'https://www.baidu.com';// 页面跳转
小结

在这里插入图片描述

DOM

在这里插入图片描述

DOM对象

在这里插入图片描述

DOM对象操作

在这里插入图片描述

       // 通过document获取元素对象// 1.通过css获取单个元素对象,返回第一个let s1 = document.querySelector('#sid');s1.innerHTML = 'DOM元素1修改';// 将内容修改 alert(s1.innerHTML);// 2.通过css获取多个元素对象,返回数组let s2 = document.querySelectorAll('.txt');alert(s2);s2.forEach(item => {item.innerHTML = 'DOM元素2修改';})
小结

在这里插入图片描述

DOM对象案例

在这里插入图片描述

       // 需求: 倒计时跳转到官网// 分析:Dom操作,周期性定时任务setInterval() location.href// 步骤:// 1.获取元素 let span = document.querySelector("#time");let timeVal = span.innerHTML;// alert(timeVal);// 每过1秒减1000;setInterval(function () {timeVal--;span.innerHTML = timeVal;// 3.判断时间是否到0if (timeVal <= 0) {// 4.跳转location.href = "https://www.jd.com";// // 5.清除定时器// clearInterval(timer);}span.innerHTML = timeVal;}, 1000);

五、事件监听

什么是事件?

在这里插入图片描述

事件监听

在这里插入图片描述
在这里插入图片描述

  <input type="button" id="btn1" value="点我一下试试1"><input type="button" id="btn2" value="点我一下试试2"><script>// 事件监听,可绑定多次事件document.querySelector("#btn1").addEventListener("click", ()=>{alert("试试就试试");});// 早版本 onclick没提示, 会覆盖,只能有最后一次事件document.querySelector("#btn2").onclick = function(){alert("试试就试试2");}// addEventListener 没绑定一次 都有效</script>

常见事件

在这里插入图片描述

案例:表格隔行换色

在这里插入图片描述

        // 需求:表格隔行换色// 分析:事件--鼠标移入移出事件 DOM操作添加样式// 1.获取Dom元素let trs = document.querySelectorAll(".data")for (let i = 0; i < trs.length; i++) {const tr = trs[i];// 2.操作元素属性:奇数行 #FBFBD4 偶数行 #D9D9FA// 移入tr.addEventListener('mouseenter', ()=>{if(i % 2 == 0) {tr.style = "background-color:#FBFBD4;"} else {tr.style = "background-color:#D9D9FA;"}})// 移除tr.addEventListener("mouseleave", ()=>{tr.style = "background-color:none";})}

案例:表单校验效果实现

在这里插入图片描述

     // 需求:表单校验,用户名4-16位,手机号11位// 分析:JS事件-- 鼠标离焦blur,表单提交let input = document.querySelector("#username");let checkUsername = function(){let flag = true;// 点出来,赋值let usernameValue = input.value;if(usernameValue.length < 4 || usernameValue.length > 16){document.querySelector("#name_msg").innerHTML = "用户名长度在4-16位";flag = false;} else {document.querySelector("#name_msg").innerHTML = "";}return flag;}input.addEventListener("blur",checkUsername)let input2 = document.querySelector("#phone");let checkPhone = function(){let flag = true;// 点出来,赋值let phoneValue = input2.value;if(phoneValue.length != 11){document.querySelector("#phone_msg").innerHTML = "手机号长度为11位";flag = false;} else {document.querySelector("#phone_msg").innerHTML = "";}return flag;}input2.addEventListener("blur", checkPhone)// 表单提交let form = document.querySelector("form");form.addEventListener("submit", function(event){// 校验if(!checkUsername() || !checkPhone()){alert("请输入正确的用户名和手机号");// 阻止表单提交event.preventDefault();}})

案例:表单校验效果实现-正则表达式

在这里插入图片描述
在这里插入图片描述

       let reg1 = /abc/let reg2 = new RegExp('123')console.log(reg1.test('abc'))console.log(reg1.test('abb'))// falseconsole.log(reg1.test('aabc'))// true 包含// 需求:用户名4-16位,且只能包含字母、数字、下划线// let reg3 = /\w[4,16]/let reg3 = /^[a-zA-Z0-9_]{4,16}$/// 需求:校验手机号let reg4 = /^1[3456789]\d{9}$/

六、模块化

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 苹果新规生效:即日起不再接受iOS 17 SDK编译的应用提交
  • [密码学实战]商用密码产品密钥体系架构:从服务器密码机到动态口令系统
  • 源码分析之Leaflet中Icon类
  • 【EDA】EDA中聚类(Clustering)和划分(Partitioning)
  • 《算法笔记》4.2小节——算法初步->哈希
  • 观测云数据在Grafana展示的最佳实践
  • Milvus(7):Schema、主字段和自动识别
  • Apache Spark 源码解析
  • Go 语言 TCP 端口扫描器实现与 Goroutine 池原理
  • Modbus主从通信功能码与报文格式
  • 如何在SpringBoot中通过@Value注入Map和List并使用YAML配置?
  • 电子学会—青少年软件编程 python一级等级考试真题—2025年03月
  • 20242817-李臻-课上测试:信号处理
  • uniapp自定义封装tabbar
  • TDengine 数据缓存技术
  • iOS/Flutter混合开发之PlatformView配置与使用
  • 记录一次无界微前端的简单使用
  • Ubuntu 上手动安装 Go 环境并解决“可执行文件格式错误”
  • Mac「brew」快速安装Redis
  • 输入电抗器和输出电抗器的作用-杭州干扰净电子科技
  • 内蒙古纪检干部刘占波履新呼和浩特,曾参与涉煤腐败倒查20年工作
  • 百台新车首秀上海车展,跨国车企联手中国技术开启智能化下半场
  • 王鹏任海南文昌市委书记
  • 灰鹦鹉爆粗口三年未改?云南野生动物园:在持续引导
  • 体坛联播|曼城击败维拉迎英超三连胜,巴萨遭遇魔鬼赛程
  • IMF将今年全球经济增长预期由3.3%下调至2.8%