2022-07-11 第九组 张嘉源 学习笔记
0711
JavaScripr脚本,依赖于某种容器来运行(浏览器解释执行)
编程语言分类:解释型:js
编译型:c++,c#
半解释半编译:Java
解释运行在浏览器上的,帮助我们控制页面
node.js前端的服务器语言
js解释器
火狐:spidermonkey
chrom、node:v8
js放在body结束标签的上方
外部引入js
js的数据类型:数字:整数、正数、小数number
字符串string:中文、字母
布尔型boolean:true、false(1、0)
空null:相当于声明了值为空
underfind:未定义,没有值
所有非空的变量都会解析成ture
定义变量
变量:开发中尽量减少使用字面量,后期维护困难的问题
在es6中,新推出了两个词代替了var:let,写两遍会报错
const:由let的特点,const声明的变量就是一个常量
复杂数据类型:数组一个变量对应多个值
使用数组函数 所有函数一定有()单词+()一定是函数
()函数[]数组{}
函数(方法):定义一个函数用来执行一系列代码4
函数定义之后不会自己执行,需要我们自己调用
无参无返回值
无参有返回值
有参有返回值
有参有返回值
函数内部不可以再声明函数,但是可以调用,调用的方式和正常调用的方式相同
return除了可以返回结果还可以终止函数继续执行
开发中尽量不要在return后面继续写语句
弹窗:实质上就是一个函数
alert:警告弹窗,没有返回值
confirm:带有确认和取消的弹窗有返回值的,点击确定返回ture,点击取消,返回FALSE
prompt:带有文本框的弹窗,有返回值。点击确定到输入的文本
逻辑判断,流程控制
判断:
if...else语法:不可以用return中止执行;可以无限嵌套(不要无限嵌套)
if(条件表达式)(不是函数){
要执行的代码:
}else{
要执行的代码:
}
switch..case结构:
switch(表达式){
case选项1:
要执行的代码
break(停下来)
case选项2:
要执行的代码
.....
defaul:
要执行的代码
}
当表达式的值在case中匹配成功,会执行对应的代码,但是停不下来,后面的代码会继续执行
怎么选择?
当需求为区间范围时,switch根本无法使用
switch效率高
当需求为固定值,且值不高,switch...case
相似
几乎所有的switch都可以转为if
default几乎相当于case
case几乎相当于if
可以嵌套
不同
switch需要break
switch里面的选项可以是杂乱无章的
switch外面写return
三元(目)运算符:语法是固定的,只能有一个条件,两个选项
+的特殊性:除了可以进行加法计算之外,还可以链接,连接符
如果先认为+是连接符,那后面也是连接符,先入为主
-*/:可以进行类型转换,转不了结果为NaN
<!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.使用数组函数
let arr=Array();
// 警告弹窗
// console.log(arr);
// 2.使用new关键字
let arr2=new Array();
// 3.使用字面量的方式
let arr3=[1,2,3,4,5];
// 赋值
// 下标(索引)
// 给数组的第一个元素赋值
arr3[0]=100;
arr3[1]=80;
// 打印数组中的第一个值
// []赋值取值
console.log(arr3[0]);
</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>
// 全局变量
// let v1=10;
// 定义函数(见名知意)体
// 作用域 起作用的区域
function hello() {
// console.log("我是hello函数")
// 局部变量
let v1=10;
console.log(v1+5);
}
// 调用函数
// hello();
// console.log(v1);
function add() {
let num1=10;
let num2=20;
// console.log(num1+num2);
// 带有返回值的函数
return num1+num2;
}
// 30
// let result = add();
// console.log(result);
// console.log(add());
// 第三种函数 带有参数的函数
// 给参数赋值,在调用的时候赋值,有参数并且有返回值
function sub(num1,num2){
return num1-num2;
}
// 根据位置匹配
// let result = sub(200,100);
// console.log(result);
function start(){
let result = sub(2,2)
}
function end(){
console.log("end函数被执行");
// return除了有返回值的作用还有一个函数被执行的作用
return;
console.log("我是end后面的语句");
end()
}
</script>
</body>
</html>
浙公网安备 33010602011771号