建议:
对于学习前端,最好的记忆方式,学习方式就是模仿,照着敲。
对于css的补充:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选中元素(选择器),并且添加css样式 */
/* 1.元素/标签/标记选择器:书写元素名称,即可选中所有对应的元素 */
p {
color:red;
}
div {
color:blue;
}
/* 需求:选中第2个p元素,第3个span元素以及第1个div元素 */
/* 2.类选择器:先给元素添加class="类名"来设置元素属于哪个类 */
/* 再使用.类名的方式来选中添加class="类名"的元素 */
.color {
color:purple;
}
/* 3.ID选择器:确定唯一的元素 */
/* 只给第2个div添加颜色 */
/* 先给元素添加 id="id名称" */
/* 使用 #id名称 选中唯一的元素 */
/* 注意:id名称具有唯一性,在同一个html文件中,id的值不能重复 就像是身份证号*/
#a1 {
color:violet;
}
</style>
</head>
<body>
<p>第1个p元素</p>
<p class="color">第2个p元素</p>
<p>第3个p元素</p>
<span>第1个span元素</span>
<span>第2个span元素</span>
<span class="color">第3个span元素</span>
<div class="color">第1个div元素</div>
<div id="a1">第2个div元素</div>
<div class="color">第3个div元素</div>
</body>
</html>
JS(JavaScript)简介:
- 早期用于处理用户的输入验证。
- 嵌入到html页面中,实现页面的特性和行为。
- 是一种解释性编程语言,基于流浪器执行。
JS的组成:
- ECMAScript,提供核心语言功能。
- 文档对象模型(DOM),提供访问和操作文档内容的方法和接口。
- 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 在html文件中使用script标签包裹Js代码 -->
<!-- script:脚本 -->
<!-- script标签内的代码会被浏览器当做Js脚本代码解析运行 -->
<script>
// Js中的注释: 单行注释 // 快捷方式:ctrl + /
/* 多
行
注
释 */
// alert(文本) : 在网页中弹出对话框显示文本
// 一般是用户交互时使用
alert('hello world!');
// document.write(文本):在网页中输出内容
// 很少用,少数情况前端人员测试使用
document.write('世界你好!');
// console.log(文本):在控制台输出文本
// 查看方式:在网页中按 F12 -> 控制台
// 前端开发人员常用的测试输出方式
console.log('Hello World!');
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 变量:在程序运行过程中保存数据的量,数据可以发生变化
// 声明变量 : var 变量名;
var name;
// 给变量赋值 变量名 = 值;(有点像C语言)
name = '张三';
console.log(name);
// 声明变量的同时赋值
var age = 25;
console.log(age);
var height = 185;
var sex = '男';
var hair = '稀少';
console.log(height,sex,hair);
// 标识符(变量名,函数名,参数名,对象属性名)的命名规则
// 1.第一个字符必须是字母,下划线或者美元符号($)
// 2.其他字符可以是数字,字母,下划线或者美元符号($)
// 3.标识符需要按照驼峰大小写写法书写
// 第一个单词的首字母小写,其他单词的首字母大写
// var getInfoByName;
// 4.不能把关键字,保留字作为标识符
// var continue break for if else ....
// var var1 = 100;
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// Js中的常用的数据类型
// 1.number : 数值型 包括整数和小数
// 2.string : 字符串类型 使用单引号或者双引号包裹
// 3.boolean : 布尔型 true/false
// 4.undefined : 未定义的
// 5.null : 空
// 6.object : 对象
// 1.number类型
// typeof(变量) : 输出变量的数据类型
var num = 3.14;
console.log(num);
console.log(typeof(num)); // number
// 2.string 字符串类型
// 使用单引号或者双引号包裹的内容是字符串
var name = 'tony';
// var sex = "男";
console.log(name);
console.log(typeof(name)); // string
// 问题 : 声明一个变量,数据类型是什么?
// 1.number 2.string
// 注意:只要被单引号或者双引号包裹的内容,都是string字符串类型
var num1 = "100";
console.log(num1);
console.log(typeof(num1)); // string
// 3.boolean : 布尔型 true/false
var bool = true;
console.log(bool);
console.log(typeof(bool)); // boolean
// 问题: 'fasle'的数据类型是什么?
console.log(typeof('false')); // string
// 4.undefined : 未定义的
// 多数情况是代码出问题才会出现undefined类型
// 少数情况是为了开发的需要,主动赋值为undefined
var undef; // 声明变量但没有赋值,值就是undefined
console.log(undef);
console.log(typeof(undef)); // undefined
// 5.null : 空
// 一般是主动给变量赋值为null,来清空变量中存储的数据
var nu1 = null;
console.log(nu1);
console.log(typeof(nu1)); // object
// 6.object : 对象
// {属性名:属性值,属性名2:属性值2,属性名3:属性值3....}
var obj = {name:'tony',age:25,sex:'男',height:180};
console.log(obj);
console.log(typeof(obj));
// Js中关于分号的规定,加或者不加都可以
// ;代表的是语句的结束
// Js不加分号,程序会自动判断语句结束
// 建议在语句的结束加上分号
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 运算符
// 1.赋值运算符 : = 将 = 右侧的内容赋值给 = 左侧
// var num = 100;
// 2.算数运算符
// + - * / % 加 减 乘 除 求余
console.log( 1 + 1 );
console.log( 2 - 1 );
console.log( 2 * 3 );
console.log( 5 / 2 );
// % 读作 '模' : 进行求余运算
// 10 ÷ 3 => 3 余 1
console.log( 10 % 3 );
console.log( 5 % 3 );
// 一般使用%来判断一个数字是否能被另外一个数字整除
// a%b => 0 代表余数为0 代表能够整除
// a%b => 不是0 代表余数不为0 代表不能整除
// += -= *= /= %=
// 有一个变量,在这个变量的基础上+10,将+10后的结果再次赋值给这个变量
var num = 100;
// num = num + 10;
num += 10; //这俩个操作完全一样
console.log(num);
// 3.自增自减运算符:++ --
var num1 = 100;
// num1 += 1;
num1++; // 在原有变量值的基础上+1
console.log(num1);
var num2 = 10;
num2--; // 在原有变量值的基础上-1
console.log(num2);
// 前置写法的自增自减:会先增减,再使用
var a = 10;
console.log(++a); // 11 先自增,后输出
// 后缀写法的自增自减:先使用,再增减
var b = 10;
console.log(b++); // 10 先输出b的值,再对b进行自增操作
console.log(b); // 11
// 4.关系运算符
// < > <= >=
console.log(100 < 99); // false
console.log(100 > 99); // true
console.log(100 >= 100); // true
console.log(100 <= 80); // fasle
// == : 相等判断 只判断数据的值,不考虑数据类型,
// 只要值相等,相等判断就会返回true
console.log(100 == '100'); // true
// === : 全等判断 既判断值,又判断数据类型
// 只有在数据类型和值完全一致的情况下,才会返回true
// 否则就会返回false
console.log(100 === '100'); // false
console.log(100 === 100); // true
// != : 不相等 与相等判断的结果相反
console.log(100 != '100'); // false
// !== : 不全等 与全等判断的结果相反
console.log(100 !== '100'); // true
// 5.逻辑运算符
// && : 逻辑与 可以理解为'并且'的意思
// 女孩1择偶标准:要求男生身高180以上并且年龄在30岁以下
// &&:必须&&前后的表达式同时为true才会整体为true
// 如果有一个表达式为false,整体就会为false
var height = 175;
var age = 25;
console.log(height >= 180 && age < 30); // false
// || : 逻辑或 可以理解为'或者'的意思
// 女孩2的择偶标准:要求男生身高180以上或者年龄30岁以下
// || : ||前后的表达式只要一个为true,整体就为true
// 只有在||前后表达式都为fasle时,整体才是false
console.log(height >= 180 || age < 30); // true
// ! : 逻辑非 取反
console.log(!true); // false
console.log(!false); // true
</script>
</body>
</html>
流程控制:js执行代码的顺序称之为流程。
- 顺序结构。
- 选择结构。
- 循环结构。
顺序结构:
js代码从上到下一次执行。
选择结构:
代码的执行根据不同的条件,执行不同的语句。(有点像高中数学的程序框图)
根据条件的数量不同分为以一下三种:
- if语句。
- if else语句。
- if else if语句。
循环结构:反复的去执行一段代码。有for, while, do...while。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 选择结构
// 1.单分支选择结构 if(表达式){代码块;}
// 如果表达式为true,执行代码块
// (如果表达式为false,不执行代码块)
// var age = 16;
// 如果年龄不满18周岁,弹窗提示:未成年人禁止入内
// if(age < 18){
// alert('未成年人禁止入内!');
// }
// 2.双分支选择结构
// if(表达式){代码块1}else{代码块2}
// 如果表达式为true,执行代码块1,否则执行代码块2
// 如果年龄小于18岁,提示未成年人禁止入内,
// 否则,提示:欢迎光临,请上二楼
// var age = 50;
// if(age < 18){
// alert('未成年人禁止入内!');
// }else{
// alert('欢迎光临,请上二楼!');
// }
// 3.多分支结构
// if(表达式1){代码1;}else if(表达式2){代码2;}else if(表达式3){代码3;}...else{代码0}
// 如果表达式为true,执行代码1,如果为false,进入到下一个表达式的判断
// 如果表达式2位true,执行代码2,如果为false,进入到下一个表达式的判断
// 如果表达式3位true,执行代码3...
// 如果前面的表达式都为false,最终会进入到else分支中,执行代码0
// 满分制100分,会根据你的得分进行分级
// 分数是100分,满分
// 分数大于等于90并且小于100,优秀
// 分数大于等于80并且小于90,良好
// 分数大于等于60并且小于80,及格
// 分数小于60分,不及格
var score = 55;
if(score == 100){
alert('满分!');
}else if(score>= 90 && score<100){
alert('优秀!');
}else if(score>=80 && score<90){
alert('良好!');
}else if(score>=60 && score<80){
alert('及格');
}else{
alert('不及格');
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 循环结构
// 1.for循环:重复执行代码
// 输出100次hello world
// console.log('hello world');
for(var i=1;i<=100;i++){
console.log('hello world');
}
// for(语句1;语句2;语句3){代码}
// 语句1:只执行一次,一般是给变量进行初始化操作
// 语句2:不断进行循环,一般是一个表达式,表达式的值为true,执行代码,并且执行语句3
// 如果语句2位false,终止循环
// 语句3:设置步长 设置变量的变化长度
</script>
</body>
</html>