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>