JavaScript
简称JS,bianchen该语言,脚本语言,依赖于某种容器来运行。运行在浏览器上,浏览器来解释执行,帮助我们控制页面。
编程语言的分类:
1.解释型:JS、Python等...
2.编译型:C++、C#等...
3.半解释、半编译:JAVA。
JS一般放在body结束标签上方,用来确保再执行JS的时候要加载的元素已经加载完成。
外部引入JS:
<script src="js的地址"></script>
JS的简单数据类型:
1.数字(number):整数,正数,小数….
2.字符串(String):a,中文,特殊符号
3.布尔型(boolean):用来进行判断的,true(1),false(0)。
4.空(null).
5.underfined:未定义,(没有值)。
定义变量:
变量:开发中尽量减少使用字面量,后期维护困难的问题。
在ES6(JS新版本)中,新推出了两个词代替var
1.let,变量用let声明。无法重复定义。—–推荐
2.const:有let的特点,const声明的变量就是一个常量。如果接下来定义的常量又重新附值,会报错。
JS的复杂数据类型
警告弹窗:alert();
控制台打印输出:console.log();
数组:一个变量对应多个值
-
使用数组:let arr=Array();
-
使用new关键字:let arr=new Array();
-
使用字面量(直接附值):let arr=[1,2,3,4]
函数:定义一个函数,:function a(){}
函数不会自己执行,如要使用,需要手动调用函数。:a();
-
无参无返回值
-
无参有返回值
-
有参无返回值
-
有参有返回值
函数内部不可以再声明函数,但是可以调用函数,调用的方式和正常调用得方式相同。
return除了有返回值得作用,还有结束函数执行得作用。
弹窗:
-
alert:警告弹窗,无返回值。
-
confirm:带有确定和取消的有返回值的弹窗,返回true false.
-
prompt:带有输入框的弹窗,返回值为文本框输入的内容,可以传两个值。后面的是默认值
运算符:
-
算术运算符 + - * / %
-
赋值运算符 = += -= /= %= *=
-
a=a+1 a+=1 a++ ++a
-
比较运算符 > < >= <= != == ===会带着数据类型判断。
-
逻辑运算符:与或非,并且:&&,或者:|| 非:!
-
三目(元)运算符:条件表达式?表达式1:表达式2
-
+号的特殊性,除了可以进行加法计算外,连接符。如果先入为主认定+为连接符,后面就都按照连接符算。
*/-%可以进行类型转换,如果转不了。结果为non(no one number);
逻辑判断,流程控制。
当需求为区间范围时,switch根本没法使用,if…else…啥都能用,switch case快。需求为固定值且值不多,switch,
-
if…else…
-
switch(表达式){
case 值1: break;case 值2: break;default;
}
获取数据类型:typeof a
判断是否为数字:isNaN(a),如果是数字就是false,如果不是就是true。
总结:
JS的引入,应该写在什么位置。
数据类型
变量的定义和声明。
3种弹窗
函数
return作用
变量的作用域
运算符
typeof isNaN
三元运算符
流程控制语句
练习题:
输入年月日,判断该日期是该年的第几天:
代码如下:
<!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>
function getYear(year){
switch(year%4==0 && year%400==0 && year%100!=0){
case true:
return true;
default:
return false;
}
}
function have(year,month,day){
let result=getYear(year)?29:28;
let x=0;
switch(month){
case 12:
x+=30;
case 11:
x+=31;
case 10:
x+=30;
case 9:
x+=31;
case 8:
x+=31;
case 7:
x+=30;
case 6:
x+=31;
case 5:
x+=30;
case 4:
x+=31;
case 3:
x+=result;
case 2:
x+=31;
case 1:
return x+day;
}
}
function days(year,month,day){
alert(year+"年"+month+"月"+day+"日是"+year+"年的第"+have(year,month,day)+"天")
}
days(2022,2,11);
</script>
</body>
</html>
运行结果: