前端基础3-2——JavaScript

目录

  • 内部对象
    • Date
    • JSON
    • AJAX
  • 面向对象编程
  • 操作BOM对象(重点)
  • 操作DOM对象(重点)
  • 操作表单form
  • jQuery
  • 如何巩固前端基础

内部对象

标准对象
在这里插入图片描述

Date

基本使用
在这里插入图片描述

转换
在这里插入图片描述

JSON

JSON是什么
在这里插入图片描述

在javascript中,一切皆为对象,任何js支持的类型都可以用JSON表示
格式

  • 对象都用{}
  • 数组都用[]
  • 所有的键值对 都是用key:value

JSON字符串和js对象转化
在这里插入图片描述

很多人搞不清楚,JSON和JS对象的区别在这里插入图片描述

AJAX

(后面web详细说)

原生的js写法 xhr异步请求

jQuery封装好的方法$(#name).

ajax("")axios请求

面向对象编程

原型对象 javascript、java、c#------面向对象;但是javascript有些区别!

  • 类:模板
  • 对象:具体实例

在javascript中,需要大家转换一下思维方式! 原型:
在这里插入图片描述在这里插入图片描述

class集继承

class关键字,是在ES6引入的
1、定义一个类、属性、方法
在这里插入图片描述

2、继承

 <script>//ES6之后========================//定义一个学生的类class Student{constructor(name){this.name = name;}hello(){alert('hello');}}class XiaoStudent extends Student{constructor(name,grade){super(name);this.grade = grade;}myGrade(){alert('我是一名小学生');}}var xiaoming = new Student("xiaoming");var xiaohong = new XiaoStudent("xiaohong",1);</script>

本质:查看对象原型
在这里插入图片描述

原型链
proto:
在这里插入图片描述

操作BOM对象(重点)

BOM:浏览器对象模型

window

window代表浏览器窗口

在这里插入图片描述

Navigator(不建议使用)

Navigator封装了浏览器的信息

在这里插入图片描述

大多数时候,我们不会使用navigator对象,因为会被认为修改!
不建议使用这些属性来判断和编写代码

screen

代表屏幕尺寸

在这里插入图片描述

location(重要)
location代表当前页面的URL信息
在这里插入图片描述

document(内容DOM)

document代表当前的页面,HTML DOM文档树
在这里插入图片描述

获取具体的文档树节点
在这里插入图片描述
获取cookie
在这里插入图片描述

劫持cookie原理
在这里插入图片描述

服务器端可以设置cookie为httpOnly

history(不建议使用 )

history代表浏览器的历史记录

在这里插入图片描述

操作DOM对象(重点)

DOM:文档对象模型

核心

浏览器网页就是一个DOM树形结构!

  • 更新:更新DOM节点
  • 遍历DOM节点:得到DOM节点
  • 删除:删除一个DOM节点
  • 添加:添加一个新的节点

要操作一个DOM节点,就必须要先获得这个DOM节点

获得DOM节点
在这里插入图片描述

这是原生代码,之后我们尽量都使用jQuery()

更新节点

在这里插入图片描述

操作文本
在这里插入图片描述

操作css
在这里插入图片描述

删除节点

删除节点的步骤:先获取父节点,再通过父节点删除自己
在这里插入图片描述

注意:删除多个节点的时候,children是在时刻变化的,删除节点的时候一定要注意。

插入节点

我们获得了某个DOM节点,假设这个DOM节点是空的,我们通过innerHTML就可以增加一个元素了,但是这个DOM节点已经存在元素了,我们就不能这么干了!会产生覆盖

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

创建一个新的标签

 <script>var js = document.getElementById('js');//已经存在的节点var list = document.getElementById('list');//通过JS创建一个新的节点var newP = document.creatElement('p');//创建一个p标签newP.id = 'newP';newP.innerText = 'Hello,Kuangshen';//创建一个标签节点var myScript = document.creatElement('script');myScript.setAttribute('type','text/javascript');//可以创建一个style标签var myStyle = document.creatElement('style');//创建了一个空style标签myStyle.setAttribute('type','text/css');myStyle.innerHTML = 'body{background-color:chartreuse;}';//设置标签内容document.getElementByTagName('head')[0].appendChild(myStyle);</script>

insertBefore

var ee = document.getElementById('ee');
var js = document.getElementById('js');
var list = document.getElementById('list');
//要包含的节点.insertBefore(newNode,targetNode)
list.insertBefore(js,ee);

操作表单form

表单是什么?form-----DOM树

  • 文本框----text
  • 下拉框----select
  • 单选框----radio
  • 多选框----checkbox
  • 隐藏域----hidden
  • 密码框----password

表单的目的:提交信息

获得要提交的信息

<body><form action = "#"><p><span>用户名:</span><input type="text" id = "username" /></p><!--多选框的值就是定义好的value--><p><span>性别:</span><input type = "radio" name = "sex" value = "man" id = "boy"/><input type = "radio" name = "sex" value = "woman" id = "girl"/></p></form><script>var input_text = document.getElementById("username");var boy_radio = document.getElementById("boy");var girl_radio = document.getElementById("girl");//得到输入框的值input_text.value //修改输入框的值input_text.value  = "value";//对于单选框,多选框等等固定的值,boy_radio.value只能取到当前的值boy_radio.checked;//查看返回的结果,是否为true,如果为true,则被选中。girl_radio.checked = true;//赋值</script>
</body>

提交表单。md5加密密码,表单优化

<!DOCTYPE html>
<html lang = "en">
<head><meta charset = "UTF-8"><title>Title</title><!--MD5加密工具类--><script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script>
</head>
<body>
<!--表达绑定提交事件οnsubmit= 绑定一个提交检测的函数,true,false将这个结果返回给表单,使用onsubmit接收
-->
<form action="https://www.baidu.com" method = "post" onsubmit = "return aaa()"><p><span>用户名:</span><input type="text" id = "username" name = "username"/></p><p><span>密码:</span><input type="password" id = "input-password" /></p><input type = "hidden" id = "md5-password" name = "password"><!--绑定事件 onclick 被点击--><button type = "submit">提交</button></form><script>function aaa(){alert(1);var username = document.getElementById("username");var pwd = document.getElementById("input-password");var md5pwd = document.getElementById("md5-password");//pwd.value = md5(pwd,value); //这行代码告诉了我们为什么有些网站一提交,密码就有一瞬间变长md5pwd.value = md5(pwd.value);//可以校验判断表单内容,true就是通过提交,false就是阻止提交return true;}
</script></body>
</html>

jQuery

jQuery库,里面存在大量的JavaScript函数
jQuery文档工具站:https://jquery.cuishifeng.cn/

公式:$(selector).action()

<!DOCTYPE html><html lang = "en"><head><meta charset = "UTF-8"><title>Title</title><script crossorigin="anonymous" integrity="sha512-n/4gHW3atM3QqRcbCn6ewmpxcLAHGaDjpEBu4xZd47N0W2oQ+6q7oc3PXstrJYXcbNU1OHdQ1T7pAP+gi5Yu8g=="src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script></head><body><a href="" id = "test-jquery">点我</a><script>//选择器就是css选择器$('#test-jquery').click(function(){alert('hello,jQuery!');});</script></body></html>

选择器

//原生js,选择器少,麻烦不好记//标签document.getElementByTagName();//iddocument.getElementById();//classdocument.getElementByClassName();//jQuery css中的选择器它全部都能用!$('p').click();//标签选择器$('#id1').click();//id选择器$('.class1').click;//class选择器

事件
鼠标事件、键盘事件,其他事件

 mousedown()(jQuery)----按下mouseenter()(jQuery)mouseleave()(jQuery)mousemove()(jQuery)----移动mouseout()(jQuery)mouseover()(jQuery)mouseup()(jQuery)
 <!DOCTYPE html><html lang = "en"><head><meta charset = "UTF-8"><title>Title</title><script crossorigin="anonymous" integrity="sha512-n/4gHW3atM3QqRcbCn6ewmpxcLAHGaDjpEBu4xZd47N0W2oQ+6q7oc3PXstrJYXcbNU1OHdQ1T7pAP+gi5Yu8g=="src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script><style>#divMove{width:500px;height:500px;border:1px solid red;}</style></head><body><!--要求:获取鼠标当前的一个坐标-->mouse:<span id = "mouseMove"></span><div id = "divMove">在这里移动鼠标试试</div><script>//当网页元素加载完毕之后,响应事件//$(document).ready(function(){})$(function(){$('#divMove').mousemove(function(e){$('#mouseMove').text('x:'+e.pageX+"y:"+e.pageY)})});</script></body></html>

操作DOM

节点文本操作

 $('#test-ul li[name=python]').text();//获得值$('#test-ul li[name=python]').text('设置值');//设置值$('#test-ul').html();//获得值$('#test-ul').html('<strong>123</strong>');//设置值

CSS的操作

$(’#test-ul li[name=python]’).css({“color”,“red”});

元素的显示和隐藏,:本质display:none

 $('#test-ul li[name=python]').show();$('#test-ul li[name=python]').hide();

娱乐测试

 $(window).width()$(window).height()$('#test-ul li[name=python]').toggle();

之后学的ajax();

 $('#form').ajax()​$.ajax({url:"test.html",context:document.body,success:function(){$(this).addClass("done");}})

如何巩固前端基础

1、如何巩固JS(看jQuery源码,看游戏源码!

2、巩固HTML、CSS(扒网站,全部down下来,然后对应修改看效果~)

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

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

相关文章

文件和结构体

LITTLESUN本来是在学队列啊&#xff0c;在手动模拟队列的地方发现了结构体这个小怪&#xff0c;为了能赶紧打队列大BOSS就赶紧跑过来填下文件和结构体的坑鸭&#xff01; 转载于:https://www.cnblogs.com/LITTLESUNwl/p/10435877.html

电磁波谱与可见光谱

电磁波谱与可见光谱 电磁辐射波 在实际的图像处理应用中&#xff0c;最主要的图像来源于电磁 辐射成像。 电磁辐射波包括无线电波、微波、红外线、可见光、 紫外线、X射线、γ射线。 电磁辐射波的波谱范围很广&#xff0c;波长最长的是无线电波 为3102m&#xff0c;其波长是…

[Leedcode][JAVA][第9题][回文数][数学法]

【问题描述】[简单] 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。…

人眼的视觉特性

人眼的视觉特性 视觉系统基本构造 视觉过程 包括&#xff1a;光学过程&#xff1b;化学过程&#xff1b;神经处理过程 光学过程 物体在视网膜上成像 整体视觉过程 亮度适应能力 亮度适应能力 明亮较暗现象&#xff1f; 逐渐能够看清物体暗光适应(20~30s) 较暗明亮现象…

【解决问题】idea启动本地tomcat访问localhost:8080报404错误

把tomcat安装目录下webapp下的的ROOT文件夹配置到idea中 并且将/ROOT修改application context为 /

[Leedcode][第十题][剑指offer]面试题第[19]题[正则表达式][动态规划][递归][JAVA]

【问题描述】[困难] 请实现一个函数用来匹配包含. 和*的正则表达式。模式中的字符.表示任意一个字符&#xff0c;而*表示它前面的字符可以出现任意次&#xff08;含0次&#xff09;。在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串"…

图像的采样和量化

图像的采样和量化 图像成像模型 图像的采样和量化 图像数字化 •将代表图像的连续(模拟)信号转换为离散(数字) 信号的过程称为图像数字化 •步骤&#xff1a;采样和量化 •主要技术 成像&#xff1a;光信息&#xff0d;>电信号 模数转换&#xff08;A/DConverter&…

【解决问题】IDEA配置Tomcat添加Deployment时没有Artifact

下面这里别忘了把整个项目也拉到左边的output-root&#xff08;拉完之后会有个WEB-INF&#xff09;

像素间的关系

像素间的关系 像素空间的关系 图像由像素组成&#xff0c;像素在图像空间上按规 律排列&#xff0c;相互之间有一定的联系。 像素间联系 像素的邻域&#xff0d;邻接关系 •4邻域—— N 4( p )&#xff1a; p ( x , y ): ( x 1, y ); ( x -1, y) ( x , y 1); ( x , y -1) •…

Spring Cloud面试题

为什么需要学习Spring Cloud 什么是Spring Cloud 设计目标与优缺点 设计目标 优缺点 Spring Cloud发展前景 整体架构 主要项目 Spring Cloud Config Spring Cloud Netflix Spring Cloud Bus Spring Cloud Consul Spring Cloud Security Spring Cloud Sleuth Spring Cloud Stre…

【发现问题】IDEA设置全局新创建文件默认换行符

今晚读《阿里Java开发手册》的代码格式部分中&#xff0c;第十条强制规约引起了我的注意。说的是&#xff0c; IDE中文件的换行符使用UNIX格式&#xff0c;不要使用Windows格式。 于是上网搜索为何如此&#xff0c;得到以下答案&#xff1a; 在开发中&#xff0c;有可能会遇到某…

图像文件类型

图像的分类 按照图像的动态特性&#xff1a; •静止图像和运动图像 按照图像的色彩&#xff1a; •灰度图像和彩色图像 按照图像的维数&#xff1a; •二维图像&#xff0c;三维图像和多维图像。 位图是通过许多像素点表示一幅图像&#xff0c;每个 像素具有颜色属性和位置…

[Leedcode][JAVA][第739题][每日温度][暴力][单调栈]

【问题描述】[中等] 根据每日 气温 列表&#xff0c;请重新生成一个列表&#xff0c;对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高&#xff0c;请在该位置用 0 来代替。例如&#xff0c;给定一个列表 temperatures [73, 74, 75, 71, 69, 7…

MySQL学习笔记2

目录MySQL函数常用函数聚合函数&#xff08;常用&#xff09;数据库级别MD5加密&#xff08;拓展&#xff09;事务什么是事务索引索引的分类测试索引索引原则权限管理和备份用户管理MySQL备份规范数据库设计三大范式MySQL函数 常用函数 -- 数学运算SELECT ABS(-8) -- 绝对值 …

拓展资源

1&#xff0e;人类的视觉感知系统 眼睛中的光接收器主要是视觉细胞&#xff0c;它包括锥状体和杆状体。中央凹&#xff08;或称中心窝&#xff09;部 分特别薄&#xff0c;这部分没有杆状体&#xff0c;只密集地分布锥状体。它具有辨别光波波长的能力&#xff0c;因此&#xff…

HTML5前端开发学习路线建议,学习前端的必备知识点

Web前端开发工程师是一个很新的职业&#xff0c;是从事Web前端开发工作的工程师。主要进行网站开发&#xff0c;优化&#xff0c;完善的工作。网页制作是Web 1.0时代的产物&#xff0c;那时网站的主要内容都是静态的&#xff0c;用户使用网站的行为也以浏览为主。 一位好的Web前…

[Leedcode][JAVA][第990题][等式方程的可满足性][并查集]

【问题描述】[中等] 给定一个由表示变量之间关系的字符串方程组成的数组&#xff0c;每个字符串方程 equations[i] 的长度为 4&#xff0c;并采用两种不同的形式之一&#xff1a;"ab" 或 "a!b"。在这里&#xff0c;a 和 b 是小写字母&#xff08;不一定不…

图像基本运算概述型

图像基本运算概述型 图像基本运算的概述(Introduction) 图像基本运算的分类 点运算 点运算是指对一幅图像中每个像素点的灰度值进行计算 的方法。 代数运算、逻辑运算 代数运算或逻辑运算是指将两幅或多幅图像通过对应像 素之间的加、减、乘、除运算或逻辑与、或、非运算得 到…

web

1.添加tomcat 新建动态web 在WebContent下新建index.jsp Windows-->preferences-->Server-->Runtimes Environments 稍后tomcat启动成功&#xff0c;但访问tomcat首页报404 解决方法&#xff1a;将server里的项目removeAll&#xff0c;启动server&#xff0c;双击修改…

[剑指offer][JAVA]面试题第[20]题[表示数值的字符串][状态机]

【问题描述】[中等] 请实现一个函数用来判断字符串是否表示数值&#xff08;包括整数和小数&#xff09;。例如&#xff0c;字符串"100"、"5e2"、"-123"、"3.1416"、"0123"都表示数值&#xff0c;但"12e"、"…