试听课重点梳理
前端:
1.HTML 概念
Hyper Text Markup Language:超文本标记语言
针对图片,字体,音频,视频,动画等等可以进行操作!(通过特殊的标签:浏览器能够解析的,达到某种渲染!)
2.HTML的标准结构
<!DOCTYPE html> 文档声明,声明当前文档的类型
<html> 根标签
<head> 子标签 (头标签)
utf-8:编码格式: 一个中文对应三个字节(浏览器默认格式)
gbk:中国的中文编码表:一个中文对应两个字节
gb2312:gbk的升级版,包含了gbk没有的一些特殊字符,一个中文对应两个字节
iso-8859-1:拉丁文码表,不考虑中文在里面
big-5:大五码(港澳地区,繁写字体)
<meta charset="utf-8"/> 当前页面的编码格式(浏览器解析的时候,它默认解析钟中文简体格式)
<title></title> 窗口标题
</head>
<body> 子标签 (主体部分)
我们需要写一些页面标签,都需要放在body中,被浏览器解析出来!
</body>
</html>
3.常见的文本标签
h1-h6:标题标签,适当加粗,但是不会居中,加入居中标签;从大到小的标题格式:
应用场景:一些网页中,部分广告标题
p: 段落标签, 应用场景:在一些网页中,公司简介,个人简介以及某个产品的描述等等,都可以使用p标签进行分段
hr:水平线标签
br:换行标签...
1.其他的文本标签
marquee 滚动标签
behivour:滚动的方式 默认循环滚动
slide滚动到一边停止 alternate来回交替滚动 scroll循环滚动
direction:滚动的方向 -,默认往左
scorllamount:滚动的速度,一般设置正整数
bgcolor:背景色
width/height:滚动的范围...
dl dt dd :列表有主题,下面列表选项
一般情况用的是有序列表或者无序列表
ol
li --列表项
ul
li
上下标标签:sup和sub ©
应用场景:在一些首页的底部声明公司或者学习xxx版权所有 <sup>©</sup>
行内标签:span,没有任何效果,最终它使用集合表单标签后面,动态进行信息提示,原生javascript表单校验
div:块标签:占整个一行内容,自动换行
实际场景: div+css完成布局
2.超链接标签 a标签
属性:
href:连接到地址 url,称为"统一资源定位符号"
target:打开资源文件的一种方式,常用两种值:_self:在当前窗口直接打开资源文件
_blank:新建一个窗口打开资源文件
超链接有两种使用场景:
1)普通的跳转: <a href="xxxxx" target="_blank">超链接</a>
2)锚链接的跳转:
在同一个页面下
a)创建锚点,跳转标记(书签)
<a name="锚点名称"></a>
b)在某个地方创建一个跳转连接,跳转到锚点的位置处
<a href="#锚点名称">回到某个地方</a>
在不同页面下,同理
a)在另一个html的某个位置,创建锚点,跳转标记(书签)
<a name="锚点名称"></a>
b)在自己当前页面的某个位置创建跳转链接
<a href="xxxx.html#锚点名称">跳转到另一个的某个位置</a>
3.图像标签 img
<img src="连接到的图片地址" width="宽度,指定像素或者占整个分辨率的百分比" height="高度,指定素数或者占整个分辨率的百分比" title="当鼠标悬浮在图片上的文字提示" alt="当前图片失效时,给提示文字描述" />
还可以给浏览器的主体部分设置背景图片
<body bakcground="图片地址">,如果这个图片本身尺寸没有整个视口这么大,图片会重复,如果相当大,显示一张图片
</body>
4.表格标签 table
tr:行标签
td:单元格
th:特殊单元格:自动居中,加粗(表头内容)
caption:给表格指定标题
表格单元格的合并
合并行/行合并:rowspan="所占格子的数量"
合并列/列合并:colspan="所占格子的数量"
块标签 div
行内标签 span
字体标签 font
上下标标签:sup和sub
原样输出:pre
2.get和post提交方式有什么区别?
1)是否将数据提交到地址栏上
get提交:会将用户的信息提交到地址栏上 url?key1=value1&key2=value2
post:不会将数据提交到地址栏上,但是可以通过浏览器--f12--->网络--->请求的信息以及内容
formData
key1=value1&key2=value2
2)是否安全(是否适合提交隐私数据)
get提交,不安全
相对,post,安全一些,但是对于隐私数据,像密码等等敏感数据,应该后期在后端处理的(md5加密)
"在三阶段--学习 shiro,安全卫士(堡垒),进行用户的身份认证和授权!
加盐,比如原始密码 123,在123的基础上"加盐",给加一些字符"qianfeng"
3)是否提交数据大小有限制
get提交,因为提交到地址栏上的,所以提交数据大小有限制的
post提交,是没有限制
(JavaEE里面二阶段,学习 Servlet :server Applet,针对服务器应用程序开发,前后端交互!)
里面使用IO方式,字节流
I:Input
O:output
3.表单标签中的action属性以及method分别什么意思
form表单标签
action属性:提交后端的服务器地址 url
method属性:提交方式,常用get/post
1.类选择器,标签选择器,id选择器优先级
id选择器 > class 类选择器 > 标签选择器
2.框架标签frame,框架集标签frameset的rows和cols什么意思
一个frame中包含一个html页面,通过src属性,指定包含页面的url
当整个结构由两个或者两个以上的HTML组成,不能使用frame来表示,需要使用
frameset框架集,
rows:从向往下看,垂直划分,每一个部分占整个部分的权重百分比
cols:从左到右看,水平划分,每一个部分占整个部分的权重百分比
rows="15,*" *:表示整个部分剩余的权重百分比
3.CSS使用方式有几种?,分别列举出来
三种方式
方式1:行内样式,一次只能控制某一个标签的样式
在每一个标签中都有一个style属性
style="样式属性名称1:值1;样式属性名称2:值2;"
方式2:内部方式(内联样式),通过选择器控制多个标签
在head标签体中指定style标签
<style>
选择器{
样式属性名称:值;
}
</style>
方式3:外部方式,需要在css文件夹下,单独创建一个后缀名为.css的文件
里面给指定页面中的标签通过选择器加入样式
选择器{
样式属性名称:值;
}
在指定的页面中要导入css文件
<link href="外部css文件" rel="stylesheet"/>
4.伪类选择器,有几种状态,分别描述每一个状态
伪类选择器是描述一个标签的状态, 官网提示必须符合下面的先后顺序,才能出现循环的经过,激活,未访问过....
link:鼠标未访问过的状态
visited:访问过的状态,点击后松开后的状态
hover:鼠标经过状态
active:激活状态(点击,并没有松开)
上面这个顺序:就可以循环的效果,不断的可以进行鼠标经过,激活,访问过状态
选择器:状态名称{
样式属性名称:属性值;
}
5.原样输出标签的含义
<pre>
我们的书写文本格式,它就会按照文本格式将内容原封不动的输出到浏览器中!
</pre>
3.列举出常用的CSS样式有哪些,列举出4个
边框的简写属性
border: border-width border-style border-color;
border:1px solid #000; 1像素大小的单实线的黑色边框
文本样式属性:
text-decoration:none/underline/overline/line-through 文本修饰 (去掉下划线/设置下划线)
text-align:文本对齐方式
line-hight:行高
CSS背景属性:
background-color:背景颜色
background-image:背景图像 url(图片地址)
background-repeat:设置背景图片是否重复以及如何重复
no-repeat(推荐)
background-poisiton:设置图片起始位置
浏览器中显示的位置 图片的位置
left top 默认值
center center
right bottom
CSS浮动属性:float
left/right:左浮动或者右浮动(推荐左浮动)
clear:
left:左边不浮动
right:右边不浮动
both:左右两边都不浮动
1.js的使用方式有几种
1)内部方式,js代码和html标签混合使用,后期不利于维护的;上课习惯使用内部方式
在head标签中书写
<script>
书写js代码
//变量
//今天写函数..函数就是方法,在里面书写相关的业务场景
</script>
2)外部方式: 前端开发人员,将js代码放在xx.js文件中
只需要在某个html页面引入js文件,
<script src="xx.js的路径"></script>
2.js中的变量定义以及数据类型划分
1)js中定义变量使用var来定义,而且var可以省略不写
2)js中定义变量,使用var可以定义任何类型的变量;而且可以重复定义变量,后面的将前面覆盖掉!
var a = 10 ;
var a = 20 ;
3)数据类型的划分:
无论是整数还是小数,都是number类型--- 提升为 js内置对象 Number
无论是字符串还是字符,都是string类型---提升为 js内置对象 String
未定义类型,没有意义
object类型,表示对象类型 ----提升为 所有js内置对象的模板 :Object
var 对象名 = new Object() ;创建对象 (这块不好理解,讲完Java面向对象之后,复习Js创建对象,比较好理解!)
//给这个对象追加属性 (现实世界事物真实的特征)
//对象名.属性名称1= 值;
对象名.age = 20 ;
对象名.name = "张三" ;
对象名.sex = "男" ;
3.js中的流程控制语句之switch语句它里面的case后面可以跟哪些类型?
case语句的后面在javascript可以是变量,也可以常量!
Java中的case语句后面只能是常量!
4.列举出js中常用的函数(方法)
//向浏览器输出内容
document.write("xxx") ;
//弹出提示框
alert("消息字符串...." ) ;
//在浏览器控制台打印内容
console.log("打印的字符串内容...") ;
//查看一个变量的数据类型,查看并打印
typeof(变量名) ; document.write(typeof(变量名)) ;
//类型转换函数
"100" --- 100
这个函数的前提条件:字符串是一个数字字符串
变量名 = parseInt(变量名): 将字符串String字符串值可以转换成Number:整数
5.关于js的if…else if…else的执行流程
if(表达式1){
语句1;
}else if(表达式2){
语句2;
}else if(表达式3){
语句3;
...
...
}else{
语句n;
}
//首先表达式1,是否成立,成立,则执行语句1
//不成立,判断表达式2是否成立,成立,则执行语句2;
//....
//如果上面都不成立,则执行语句n; if语句结束!
1.javascript中如何定义函数以及调用函数?
//方式1:
//定义函数
function 函数名称(形式参数列表){
//完成函数的业务逻辑
//直接输出 document.write("xxxx") ;
}
//调用函数:单独调用
函数名称(实际参数列表) ;
//方式2: (推荐的)
//定义函数
function 函数名(形式参数列表){a,b
//完成业务逻辑操作
return 结果值;
}
//调用函数 赋值调用
var 结果变量 = 函数名称(实际参数列表) ; (10,20)
//如果进一步的需求,继续去使用 结果变量 去其他操作!
//定义一个函数,比较两个数据是否相等
//定义一个函数
function compare(a,b){
//要么使用js三元运算符操作
// var flag = (a==b)?true:false ;
//==本身就比较
//简写
// var flag = (a==b) ;
//return flag ;
//要么使用if..else...操作
if(a==b){
return true ; //return 本身就是结束方法的, java语言结束方法也是return
}else{
return false ;
}
}
//调用函数
var result = compare(10,10) ;
document.write(result) ;
注意事项:无论哪种方式,形式参数中不能var的,直接书写参数名称
2.js中Date对象获取年,获取月,获取月中的日期中的方法列举出来
//js中创建日期对象
var date = new Date() ;
//获取年
var year = date.getFullYear() ;//输出
//获取月: 0-11之间的整数
var month = (date.getMonth()+1) ; //输出
//获取月中的日期
var monthWithDate = date.getDate() ;
3.列举出js中String对象常用的函数
fontcolor(颜色值):对字符串进行颜色标记
charAt(index):获取指定索引(index)的字符,index是从0开始
indexOf(子字符串):查看字符串中在大字符串中第一次出现的索引值
concat(字符串):拼接功能,将该字符串在大字符串中默认进行拼接追加
//传统方式:字符串拼接符号 "+" ,字符串+任何数据 = "新的字符串"
"hello"+'a' = "helloa"
"今天天气不错:"+"yeah" = "今天天气不错:yeah"
4.innerHTML和innerText属性有什么区别
都表示去给标签设置文本内容
前者innerHTML:设置一些html标签内容,解析这些标签----渲染标签格式 (推荐)
后者innerText:针对html标签内容,解析不了,会将标签直接输出到浏览器上
5.js中的do-while最大的特点是什么
就是循环体至少一次!(条件不成立)
for和while使用居多,for使用最多!
1.Js中的常用的事件有哪些,请列出
点击事件
单击点击:click------ 在标签中绑定的属性onclick="函数()"
双击点击:dbclick----- 在标签中绑定的属性ondbclick="函数名称()"
焦点事件(应用最多:文本输入框/密码输入框...)
获取焦点:focus ----在标签中绑定的属性 onfocus="函数名称()"
失去焦点:blur---- 在标签中绑定的属性 onblur="函数名称()"
选项卡发生变化的事件(下拉菜单中用的最多)
change事件 ---- 在标签中绑定的属性 onchange="函数名称()"
省市联动 效果
function 函数名称(){
//1)选中的省份名称---dom操作
//2)获取城市所在的select标签对象
//3)逻辑判断,如果 "陕西省" == 省份名称的值
//创建一个数组 arr = ["西安市","咸阳市","宝鸡市"] ;
//遍历数组---可以将每一个城市名称获取 arr[i]
//需要给 城市所在的select标签对象 不断的拼接 "<option value="+arr[i]+">"+arr[i]+"</option>"
}
....
2.js自定义对象的方式,列举
四种方式
方式1:定义对象 function 对象(形式参数1,形式参数2...){
this.追加属性名称 = 形式参数1 ;
this.追加的方法名称 = function(空参/带参){
...
}
}
创建对象
var 对象名 = new 对象(实际参数1,实际参数2...) ;
方式2:定义对象
function 对象(){
}
//创建对象
var 对象名 = new 对象() ;
//追加属性
对象名.属性名称 = 实际值;
//追加方法
对象名.方法名 = function(空参/带参){
//弹框 ,提示"消息字符"
}
方式3:利用Js内置对象Object,代表所有对象的模板
var 对象名 = new Object() ;
//追加属性
对象名.属性名称 = 实际值;
//追加方法
对象名.方法名 = function(空参/带参){
//弹框 ,提示"消息字符"
}
方式4:后期常用的,前后端交互去用! (json方式,字面值的方式)
var 对象名 = {
"key1":value1,
"key2":value,
"方法名":function(带参/空参){
//业务,弹框--提示"字符串信息"...
}
} ;
3.Js中如何创建Array内置对象?
常用一种简写格式:
var arr = [元素1,元素2,元素3....] ;
4.列举出常用的表单标签的表单项
input type ="text" 文本输入框
intput type = "password" 密码输入框
input type = "date" 日期组件
input type="file" 上传文件
input type="radio" 单项按钮
input type ="checkbox"复选框
input type="submit" 提交按钮
input type="button" value="xx" 普通按钮
input type = "reset" 重置按钮
select 下拉菜单
option下拉选项..
MySql:
1.DDL语句创建库的语法,以及修改库的字符集,删除库,分别列举
-- 创建库
create database 库名;
create database if not exists 库名;
-- 查询创建库的默认字符集
show create database 库名;
-- 修改库的字符集
alter database 库名 default character set 字符集名 ; -- mysql安装服务器版默认字符集 utf8
-- 删除库
drop database 库名;
drop database if exists 库名;
2.创建表的语法,修改表的字段类型,修改表的字段名称,添加新的字段名称,删除表的语法,分别列举
-- 创建表,必须选择哪个库创建
use 库名;
-- 创建表
create table 表名(
字段名称1 字段类型1,
字段名称2 字段类型2,
...
...,
字段名称n 字段类型n
) ;
-- 修改表的字段类型
alter table 表名 modify 字段名称 新的字段类型;
-- 修改表的字段名称
alter table 表名 change 旧的字段名称 新的字段名称 旧的字段类型;
-- 添加新的字段名称
alter table 表名 add 新的字段名称 新的字段类型;
-- 删除表
drop table 表名;
drop table if exists 表名;
3.DML语句,插入数据的语法
-- 插入全表数据,一次插入一条
insert into 表名 values(值1,值2,值3....) ;
-- 插入全表数据,一次插入多条
insert into 表名 values(值1,值2,值3....),(值1,值2,值3...),(值1,值2,值3...)
-- 插入部分字段,在数据库中,未插入数据的字段默认值null(空值)
insert into 表名(字段名称1,字段名称2,,,部分字段) values(值1,值2,..部分字段值) ;
-- 插入部分字段,也支持一次插入多条
insert into 表名(字段名称1,字段名称2,,,部分字段) values(值1,值2,..部分字段值),(值1,值2...部分字段值);
-- 注意事项:
--插入数据的时候,一定要保证字段值的先后顺序,防止非法数据!
4.修改表中的某个记录的语法
-- 修改表,修改单个字段
update 表名 set 字段名称 = 值 where 字段名称 = 值;
-- where的后面一般使用的都是非业务字段:id(每一张表都有id字段)
-- 修改表,修改多个字段
update 表名 set 字段名称1 = 值1,字段名称2=值2,.... where 字段名称 = 值;
-- 批量修改指定名称所有数据
update 表名 set 字段名称 = 值;
5.删除指定的记录以及删除全表
-- 带条件删除指定的记录
delete from 表名 where 字段名称 = 值; -- 字段名称一般使用非业务字段id
-- 删除全表数据
delete from 表名; -- 如果仅仅删除表中 的所有数据
6.delete from 表名和truncate table 表名 区别
前者:仅仅是删除全表数据而已,不会影响自增长主键id的值,当下次再次插入新的数据,id会在之前最后一次自增长值基础上继续自增
id(后期会设置自增长 主键) ---- 15 ---- 完成了delete from 表名 ;
下次插入一条数据,id --- 16
后者:删除表的所有记录同时删除表,而且自动创建一张一模一样的空表,直接就影响了自增长id的值
id(后期会设置自增长 主键) ---- 15--- 完成了 truncate table 表名
下次插入数据 id ---- 1