以前学习过,有一定的基础,对于之前不清楚的做个快速的梳理,打好基础。
查看:https://www.w3school.com.cn/js/index.asp
1 JavaScript
1.1 输出
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 5 + 6;//访问 HTML 元素
document.write(5 + 6);//一般用于测试
window.alert(5 + 6);//弹出警告框显示数据
console.log(5 + 6);//写入浏览器控制台
</script>
</body>
</html>
1.2 值、变量及数据类型
- 字符串是文本,由双引号或单引号包围
- 用
var
关键词来声明变量 - 值可以是多种类型,比如数值和字符串。例如
x = "Bill" + " " + "Gates"; //"Bill Gates"
x = 3 + 5 + "8"; //"88"
x = "8" + 3 + 5; //"835"
- JavaScript 拥有动态类型。这意味着相同变量可用作不同类型。
- 超大或超小的数值可以用科学计数法来写。
var y = 123e5; // 12300000
var z = 123e-5; // 0.00123
- null 的数据类型是对象,您可以通过设置值为
null
清空对象,可以通过设置值为undefined
清空对象。
原始数据 | 复杂数据 |
---|---|
string,number,boolean,undefined | function,object |
- 对象也是变量。但是对象包含很多值。
var x = new String(); // 把 x 声明为 String 对象
var y = new Number(); // 把 y 声明为 Number 对象
var z = new Boolean(); // 把 z 声明为 Boolean 对象
var person = {
firstName: "Bill",
lastName : "Gates",
id : 678,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
- 在函数定义中,
this
引用该函数的“拥有者”。 - 如果您不使用
()
访问方法,则将返回函数定义。 - 反斜杠转义字符把特殊字符转换为字符串字符:单引号、双引号、反斜杠。
1.3 字符串
代码 | 结果 | 代码 | 结果 | 代码 | 结果 |
---|---|---|---|---|---|
\' | 单引号 | \f | 换页 | \b | 退格键 |
\" | 双引号 | \n | 新行 | \t | 水平制表符 |
\\ | 反斜杠 | \r | 回车 | \v | 垂直制表符 |
- 不要把字符串创建为对象。它会拖慢执行速度。new 关键字使代码复杂化。也可能产生一些意想不到的结果。
- 当使用
==
相等运算符时,相等字符串是相等的;当使用===
运算符时,相等字符串是不相等的,因为===
运算符需要类型和值同时相等。JavaScript 对象无法进行对比。 - 内建属性
length
可返回字符串的长度。 indexOf()
方法返回字符串中指定文本首次出现的索引(位置);lastIndexOf()
方法返回指定文本在字符串中最后一次出现的索引。两种方法都接受作为检索起始位置的第二个参数。search()
方法搜索特定值的字符串,并返回匹配的位置。
提取部分字符串- 有三种提取部分字符串的方法:
//省略第二个参数,则将裁剪字符串的剩余部分
slice(start, end);
substring(start, end);
substr(start, length);
- 替换字符串内容:
replace()
方法,默认只替换首个匹配(替换所有匹配,请使用正则表达式的 /g ),对大小写敏感(大小写不敏感,正则表达式 /i)。 - 大写和小写互相转换
toUpperCase(); //转大
toLowerCase(); //转小
1.4 数组
toString()
把数组转换为数组值(逗号分隔)的字符串。join()
方法也可将所有数组元素结合为一个字符串,可以规定分隔符。Popping()
和Pushing()
:从数组弹出项目,或向数组推入项目。(数组结尾)shift()
会删除首个数组元素,并把所有其他元素“位移”到更低的索引;unshift()
向数组添加新元素,并“反向位移”旧元素。(数组开头)- 使用
delete
来删除,留下的未定义的空洞,使用 pop() 或 shift() 取而代之。 splice()
方法可用于向数组添加新项。在数组中不留“空洞”的情况下移除元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
1.5 表单
表单验证
- 如果某个表单字段(fname)是空的,那么该函数会发出一条警告消息,并返回 false,以防止表单被提交出:https://www.w3school.com.cn/tiy/t.asp?f=js_validation_js
数据验证
- 数据验证指的是确保干净、正确和有用的用户输入的过程。
- 服务器端验证是由 web 服务器执行的,在输入被送往服务器之后。
- 客户端验证是由 web 浏览器执行的,在输入被送往 web 服务器之前。
- HTML约束验证
checkValidity()
方法,如果输入字段包含无效的数据,显示一条消息。rangeOverflow
,设置为 true,如果元素值大约其 max 属性。rangeUnderflow
,设置为 true,如果元素值小于其 min 属性。- ......
2 Html
2.1 html属性
- HTML 链接
<a href="http://www.w3school.com.cn">This is a link</a>
- 创建水平线
<hr />
- 注释
<!-- This is a comment -->
- 粗体
<b>This text is bold</b>
<sub>
定义下标字,<sup>
定义上标字。- 表格(先行后列)
table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
- 无序/有序表单
<ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
<div>
元素是块级元素,它是可用于组合其他 HTML 元素的容器,没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后显示折行。如果与 CSS 一同使用,可用于对大的内容块设置样式属性。另一个常见的用途是文档布局。【例子】<span>
元素是行内元素,能够用作文本的容器.【例子】
2.2 HTML框架
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。每份HTML文档称为一个框架,并且每个框架都独立于其他的框架。
<frameset cols="25%,75%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
</frameset>
3 CSS
层叠样式表 (Cascading Style Sheets)
3.1 基础
语法
- CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。选择器通常是您需要改变样式的 HTML 元素。每条声明由一个属性和一个值组成。
h1 {color:red; font-size:14px;}
h1,h2,h3,h4,h5,h6 {color: green;}
- 根据 CSS,子元素从父元素继承属性。子元素将继承最高级元素(如 body)所拥有的属性(这些子元素诸如 p, td, ul, ol, ul, li, dl, dt,和 dd),不需要另外的规则。若创建一个针对 p 的特殊规则,这样它就会摆脱父元素的规则。
3.2 选择器
3.2.1 派生选择器
- 通过依据元素在其位置的上下文关系来定义样式。
li strong {
font-style: italic;
font-weight: normal;
}
<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>
<ol>
<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
<li>我是正常的字体。</li>
</ol>
3.2.2 id选择器
- 为标有特定 id 的 HTML 元素指定特定的样式。以 "#" 来定义。
#red {color:red;}
#green {color:green;}
<p id="red">这个段落是红色。</p>
<p id="green">这个段落是绿色。</p>
- id 选择器常常用于建立派生选择器。以下样式只会应用于出现在 id 是 sidebar 的元素内的段落。
#sidebar p {
font-style: italic;
text-align: right;
margin-top: 0.5em;
}
3.2.3 类选择器
- h1 和 p 元素都有 center 类。这意味着两者都将遵守 ".center" 选择器中的规则。
.center {text-align: center}
<h1 class="center">
This heading will be center-aligned
</h1>
<p class="center">
This paragraph will also be center-aligned.
</p>
- 也可被用作派生选择器
.fancy td {
color: #f60;
background: #666;
}
3.2.4 属性选择器
- 为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。
[title]{color:red;}
[title~=hello] { color:red; }
[lang|=en] { color:red; }
3.2.5 后代选择器
h1 em {color:red;}
3.2.6 子元素选择器
h1 > strong {color:red;}
3.2.7 相邻兄弟选择器
- 需要选择紧接在另一个元素后的元素,而且二者有相同的父元素
h1 + p {margin-top:50px;}
3.2.7 伪类
a:link {color: #FF0000} /* 未访问的链接 */
a:visited {color: #00FF00} /* 已访问的链接 */
a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
a:active {color: #0000FF} /* 选定的链接 */
a.red : visited {color: #FF0000}
<a class="red" href="css_syntax.asp">CSS Syntax</a>
3.3 如何创建 CSS
如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。
3.3.1 外部样式表
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
3.3.2 内部样式表
<head>
<style type="text/css">
hr {color: sienna;}
p {margin-left: 20px;}
body {background-image: url("images/back40.gif");}
</style>
</head>
3.3.3 内联样式
<p style="color: sienna; margin-left: 20px">
This is a paragraph
</p>
4 如何设计一个导航栏
<!DOCTYPE html>
<html>
<head>
<style>
ul
{ //从列表中去掉圆点和外边距
list-style-type:none;
margin:0;
padding:0;
overflow:hidden;
}
//让所有链接拥有相等的宽度,浮动 <li> 元素并规定 <a> 元素的宽度
li
{
float:left;
}
a:link,a:visited
{
display:block;
width:120px;
font-weight:bold;
color:#FFFFFF;
background-color:#bebebe;
text-align:center;
padding:4px;
text-decoration:none;
text-transform:uppercase;
}
a:hover,a:active
{
background-color:#cc0000;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>