黑马程序员技术交流社区
标题:
前端基础杂集
[打印本页]
作者:
S.妖妖
时间:
2019-6-5 19:26
标题:
前端基础杂集
HTML标签
基础标签:
<!DOCTYPE> 定义文档类型(声明于文档最前面的位置)
<html>定义HTML文档
<head>头标签,用于指定HTML文档的一些属性,引入外部资源 <title>定义文档标题(浏览器标签处显示)
<body>定义文档内容 <h1>到<h6>定义标题(标题大小从1-6)
<p>定义段落
<hr>定义水平线
*属性:
color:颜色
width:宽度
size:高度
align:对其方式
(center)居中
(left)左对齐
(right)右对齐
<br>定义简单的换行
<!--...--> 定义注释
格式标签:
<em>定义强调文本
<small>定义小号文本
<i>字体斜体
<font>字体标签
<center>定义文本居中
属性:
color:颜色
size:大小
face:字体
<b>定义粗体文字
图像标签:
<img>
链接标签:
<a> 定义超链
属性:
href:指定访问资源的URL(同一资源定位符)
target:指定打开资源的方式
* _self:默认值,在当前页面打开
* _blank:在空白页面打开
列表标签:
<ul>定义无序列表
<li>定义列表项目
<ol>定义有序列表
<li>定义列表项目
<dl>定义自定义列表
<dt>定义自定义列表中的项目
<dd>定义自定义列表项目的描述
表单标签:
<form>定义供用户输入HTML表单
属性:
action:指定提交数据的URL(表单提交的路径)
method:指定提交方式
提交方式用7种(两个常用的):
get:不太安全,地址栏会显示提交的参数,会封装到请求体(HTTP协议),请求参数长度有限制
post:较为安全,地址栏不会显示提交的参数,会封装到请求体中(HTTP协议),请求参数长度限制
*表单项数据提交必须指定name属性
<input>定义输入控件(输入框)
属性:
type:改变元素展示样式
* text:文本输入框,默认值
* placeholder:指定输入框的提示信息,输入内容后提示自动内容自动清空
* password:密码输入框
* radio:单选框
*想要实现多个单选框效果,多个单选框name属性值必须一样,一般给每个单选框提供value属性
*checked属性,可以指定默认值
* checkbox:复选框
* file:文件选择框
* hidden:隐藏域,用于提交一些信息
* 按钮:
* submit:提交按钮,可以提交表单
* button:普通按钮
* image:图片提交按钮(src属性指定图片路径)
<textarea> 定义多行的文本输入控件
属性:
cols:指定列数,每一行有多少个字符
rows:默认多少行
<select>定义选择列表(下拉列表)
* option:指定列表项(子元素)
<label>定义input元素的标注
* 注意:
lable的for属性一般会和input的id属性值对应,(用于获取焦点)
表格标签:
<table>定义表格
属性:
width:宽度
border:边框
cellpadding:定义内容和单元格的距离
cellspacing:定义单元格之间的距离,如果指定为0,单元格转为实线
bgcolor:背景深颜色
align:对齐方式
<tr>定义表格中的行
属性:
bgcolor:背景颜色
align:对齐方式
<th>定义表头单元格
属性:
<caption>表格标题
<thead>表示表格的头部分
<tbody>表示表格的体部分
<tfoot>表示表格的脚部分
<td>定义表格中的单元(列)
属性:
colspan:合并列
rowspan:合并列
样式/节:
<style>滴定仪文档的样式信息
<div>定义文档中的节(每一个div占满一整行,块级标签)
<span>定义文档中的节(文本信息再一行展示,行内标签,内联标签)
语义化标签:
<header>:页眉
<footer>:页脚
CSS样式(Cascading Style Sheets)
作用:
美化网页
HTML代码构建网页整体布局
CSS美化网页,两者缺一不可
内部样式:(作用域:当前标签中)
在head标签内定义style标签
外部样式:(作用域:谁引用,谁就可以使用该样式)
定义CSS资源文件
在head标签内,定义link标签,引用外部资源文件
基础语法:
选择器{
属性名1:属性值1;
属性名2:属性值2;
...
}
选择器具有相似特征的元素
选择器:
作用:选择指定标签,并为指定标签设置样式
1. 基础选择器
1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
* 语法:#id属性值{}
2. 元素选择器:选择具有相同标签名称的元素
* 语法: 标签名称{}
* 注意:id选择器优先级高于元素选择器
3. 类选择器:选择具有相同的class属性值的元素。
* 语法:.class属性值{}
* 注意:类选择器优先级高于元素选择器
2. 扩展选择器:
1. 选择所有元素:
* 语法: *{}
2. 并集选择器:
* 选择器1,选择器2{}
3. 子选择器:筛选选择器1元素下的选择器2元素
* 语法: 选择器1 选择器2{}
4. 父选择器:筛选选择器2的父元素选择器1
* 语法: 选择器1 > 选择器2{}
5. 属性选择器:选择元素名称,属性名=属性值的元素
* 语法: 元素名称[属性名="属性值"]{}
6. 伪类选择器:选择一些元素具有的状态
* 语法: 元素:状态{}
* 如: <a>
* 状态:
* link:初始化的状态
* visited:被访问过的状态
* active:正在访问状态
* hover:鼠标悬浮状态
3. 属性
1. 字体、文本
* font-size:字体大小
* color:文本颜色
* text-align:对其方式
* line-height:行高
2. 背景
* background:
3. 边框
* border:设置边框,复合属性
4. 尺寸
* width:宽度
* height:高度
5. 盒子模型:控制布局
* margin:外边距
* padding:内边距
* 默认情况下内边距会影响整个盒子的大小
* box-sizing: border-box; 设置盒子的属性,让width和height就是最终盒子的大小
* float:浮动
* left
* right
JavaScript
ECMAscript客户端脚本语言的标准:
1.基础语法:
与HTML结合方式:
1.内部JS:
定义<Script>,标签内容就是JS代码
2.外部JS:
定义<Script>,通过src属性引入外部的JS文件
*注意:
1.<Script>可以定义在HTML页面的任何地方,但是定义的位置影响执行顺序
2.<Script>可以定义多个
2.注释
1.单行注释: //注释内容
2.多行注释:/*注释内容*/
3.数据类型:
1.原始数据类型(基本数据类型):
1.number:数字(整数/小数/NaN(not a number 一个不是数字的数字类型))
2.String:字符串(javascript中字符也叫做字符串)
3.boolean:true和false
4.null:一个对象为空的占位符
5.undefined:未定义,没有初始化的,变量没有初始化则默认赋值为undefined
2.引用数据类型:对象
4.变量
1.变量:一小块存储的内存空间
2.java语言的强类型语言,而javascript是弱类型语言
*强类型:在开辟变量存储空间时,定义空间将来存储的数据类型,只能存储固定类型数据
*弱类型:在开辟变量存储空间时,不定义空间将来存储数据类型,可以存放任意类型的数据
3.语法:
var 变量名 = 初始化值;
5.运算符
1.一元运算符,只有一个运算数的运算符
* ++,--,+(正号),-(负号)
*++(--)在前,先自增(自减),在运算
*++(--)在后,先运算,再自增(自减)
*+(-):正负号
*注意:再JS中能够,运算数不是运算符所要求的类型,那么js引擎会自动将运算数进行类型转换
*其他类型转number:
1.String转number:按照字面值转换,如果字面值不是数字,则转为NaN(不是数字的数字)
2.Boolean转number:true转为1,false转为0
2.算数运算符:
+ - * / %...
3.赋值运算符:
= += -= ...
4.比较运算符:
> < >= <= == ===(全等于)
*比较方式
1.类型相同:直接比较
*字符串:按照字典比较顺序,按位逐一比较,直到得出大小为止
2.类型不同:先进行类型转换,在比较
* ===:全等于在比较值钱,先判断类型,如果类型不一样,则直接返回false
5.逻辑运算符:
&& || !
*其他类型转boolean:
1.number:0或NaN为假,其他为真(null,0,NaN,undefined,""(空字符),false)以上都为false
2.String:除了空字符(""),其他都为true
3.null&undefined:都是false
4.对象:所有对象都为true
5.三元运算符:(? :)
*语法:
*表达式?值1:值2;
6.流程控制语句:
7.JS特殊语法:
1.语句以分号(;)结尾,如果一行只有一条语句,分号可以省略
2.变量的定义使用var关键字,也可以不使用
*用:定义的变量是局部变量
*不用:定义的变量是全局变量
2.基本对象:
*function:函数(方法)对象
1.创建:
方式1:var 变量名 = new Function(形式参数列表,方法体);
方式2:
function 方法名称(形式参数列表){
方法体
}
方式3:
var 方法名 =function(形式参数列表){
方法体
}
2.方法:
3.属性:
length:代表形参的个数
4.特点:
1.方法定义时,形参的类型不用写,返回值类型也不写
2.方法时一个对象,如果定义名称相同的方法,会覆盖
3.在JS中,方法的调用只与方法的名称有关,和参数列表无关
4.在方法声明中有一个隐藏的内置对象(数组),arguments封装所有实际参数
5.调用:
方法名称(实际参数列表)
3.Array数组对象
1.创建:
1.var arr = new Array(元素列表);
2.var arr = new Array(默认长度);
3.var arr = [元素列表];
2.方法:
join(参数):将数组中的元素按照指定的分隔符拼接成字符串
push()向数组的末尾添加一个或多个元素,并返回新的长度
3.属性:
length:数组的长度
4.特点:
1.JS中,数组元素的类型可变的
2.JS中,数组的长度可变
4.boolean
5.Date:日期对象
1.创建:
var date = new Date();
2.方法:
toLocaleString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值,返回当前日期对象描述时间到1970年1月1日零点的毫秒值
6.Math:数学对象
1.创建:
特点:Math对象不用创建直接使用,Math.方法名();
2.方法:
random():返回0~1之间的随机数(含0不含1)
ceil(X):对数进行上舍入
floor(x):对数进行下舍入
round(X):把数四舍五入为最接近的整数
3.属性:
PI
7.number
8.String
9.RegExp:正则表达式对象
1.正则表达式定义字符串穿的组成规则
1.单个字符:[]
如: [a] [ab] [a-zA-Z0-9_]
* 特殊符号代表特殊含义的单个字符:
\d:单个数字字符 [0-9]
\w:单个单词字符[a-zA-Z0-9_]
2. 量词符号:
?:表示出现0次或1次
*:表示出现0次或多次
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
* m如果缺省: {,n}:最多n次
* n如果缺省:{m,} 最少m次
3. 开始结束符号
* ^:开始
* $:结束
* $:结束
2. 正则对象:
1. 创建
1. var reg = new RegExp("正则表达式");
2. var reg = /正则表达式/;
2. 方法
1. test(参数):验证指定的字符串是否符合正则定义的规范
10.Global
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名();
2. 方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码
parseInt():将字符串转为数字
* 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否是NaN
* NaN六亲不认,连自己都不认。NaN参与的==比较全部问false
eval():讲 JavaScript 字符串,并把它作为脚本代码来执行。
JavaScript(BOM,DOM)
BOM
* 功能:控制html文档的内容
* 获取页面标签(元素)对象:Element
* document.getElementById("id值"):通过元素的id获取元素对象
* 操作Element对象:
1. 修改属性值:
1. 明确获取的对象是哪一个?
2. 查看API文档,找其中有哪些属性可以设置
2. 修改标签体内容:
* 属性:innerHTML
1. 获取元素对象
2. 使用innerHTML属性修改标签体内容
1. 概念:Browser Object Model 浏览器对象模型
* 将浏览器的各个组成部分封装成对象。
2. 组成:
* Window:窗口对象
* Navigator:浏览器对象
* Screen:显示器屏幕对象
* History:历史记录对象
* Location:地址栏对象
3. Window:窗口对象
1. 创建
2. 方法
1. 与弹出框有关的方法:
alert() 显示带有一段消息和一个确认按钮的警告框。
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
* 如果用户点击确定按钮,则方法返回true
* 如果用户点击取消按钮,则方法返回false
prompt() 显示可提示用户输入的对话框。
* 返回值:获取用户输入的值
2. 与打开关闭有关的方法:
close() 关闭浏览器窗口。
* 谁调用我 ,我关谁
open() 打开一个新的浏览器窗口
* 返回新的Window对象
3. 与定时器有关的方式
setTimeout() 在指定的毫秒数后调用函数或计算表达式。
* 参数:
1. js代码或者方法对象
2. 毫秒值
* 返回值:唯一标识,用于取消定时器
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval() 取消由 setInterval() 设置的 timeout。
3. 属性:
1. 获取其他BOM对象:
history
location
Navigator
Screen:
2. 获取DOM对象
document
4. 特点
* Window对象不需要创建可以直接使用 window使用。 window.方法名();
* window引用可以省略。 方法名();
4. Location:地址栏对象
1. 创建(获取):
1. window.location
2. location
2. 方法:
* reload() 重新加载当前文档。刷新
3. 属性
* href 设置或返回完整的 URL。
5. History:历史记录对象
1. 创建(获取):
1. window.history
2. history
2. 方法:
* back() 加载 history 列表中的前一个 URL。
* forward() 加载 history 列表中的下一个 URL。
* go(参数) 加载 history 列表中的某个具体页面。
* 参数:
* 正数:前进几个历史记录
* 负数:后退几个历史记录
3. 属性:
* length 返回当前窗口历史列表中的 URL 数量。
事件
* 功能: 某些组件被执行了某些操作后,触发某些代码的执行。
* 造句: xxx被xxx,我就xxx
* 我方水晶被摧毁后,我就责备对友。
* 敌方水晶被摧毁后,我就夸奖自己。
* 如何绑定事件
1. 直接在html标签上,指定事件的属性(操作),属性值就是js代码
1. 事件:onclick--- 单击事件
2. 通过js获取元素对象,指定事件属性,设置一个函数
DOM
* 概念: Document Object Model 文档对象模型
* 将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作
* W3C DOM 标准被分为 3 个不同的部分:
* 核心 DOM - 针对任何结构化文档的标准模型
* Document:文档对象
* Element:元素对象
* Attribute:属性对象
* Text:文本对象
* Comment:注释对象
* Node:节点对象,其他5个的父对象
* XML DOM - 针对 XML 文档的标准模型
* HTML DOM - 针对 HTML 文档的标准模型
* 核心DOM模型:
* Document:文档对象
1. 创建(获取):在html dom模型中可以使用window对象来获取
1. window.document
2. document
2. 方法:
1. 获取Element对象:
1. getElementById() : 根据id属性值获取元素对象。id属性值一般唯一
2. getElementsByTagName():根据元素名称获取元素对象们。返回值是一个数组
3. getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组
4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组
2. 创建其他DOM对象:
createAttribute(name)
createComment()
createElement()
createTextNode()
3. 属性
* Element:元素对象
1. 获取/创建:通过document来获取和创建
2. 方法:
1. removeAttribute():删除属性
2. setAttribute():设置属性
* Node:节点对象,其他5个的父对象
* 特点:所有dom对象都可以被认为是一个节点
* 方法:
* CRUD dom树:
* appendChild():向节点的子节点列表的结尾添加新的子节点。
* removeChild() :删除(并返回)当前节点的指定子节点。
* replaceChild():用新节点替换一个子节点。
* 属性:
* parentNode 返回节点的父节点。
* HTML DOM
1. 标签体的设置和获取:innerHTML
2. 使用html元素对象的属性
3. 控制元素样式
1. 使用元素的style属性来设置
如:
//修改样式方式1
div1.style.border = "1px solid red";
div1.style.width = "200px";
//font-size--> fontSize
div1.style.fontSize = "20px";
2. 提前定义好类选择器的样式,通过元素的className属性来设置其class属性值。
事件监听机制:
* 概念:某些组件被执行了某些操作后,触发某些代码的执行。
* 事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
* 事件源:组件。如: 按钮 文本输入框...
* 监听器:代码。
* 注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代码。
* 常见的事件:
1. 点击事件:
1. onclick:单击事件
2. ondblclick:双击事件
2. 焦点事件
1. onblur:失去焦点
2. onfocus:元素获得焦点。
3. 加载事件:
1. onload:一张页面或一幅图像完成加载。
4. 鼠标事件:
1. onmousedown 鼠标按钮被按下。
2. onmouseup 鼠标按键被松开。
3. onmousemove 鼠标被移动。
4. onmouseover 鼠标移到某元素之上。
5. onmouseout 鼠标从某元素移开。
5. 键盘事件:
1. onkeydown 某个键盘按键被按下。
2. onkeyup 某个键盘按键被松开。
3. onkeypress 某个键盘按键被按下并松开。
6. 选择和改变
1. onchange 域的内容被改变。
2. onselect 文本被选中。
7. 表单事件:
1. onsubmit 确认按钮被点击。
2. onreset 重置按钮被点击。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2