今日主要讲述内容:
JavaScript是什么?
编程语言。脚本语言。依赖于某种容器来运行。浏览器来解释说明。
编程语言的分类:
- 解释型:JS Python
- 编译型:C++ C#
- 半解释型:Java
JS是运行在浏览器上的,可以帮助我们去控制页面。
vue.js react.js jquery.js angular.js
node.js前端的服务器语言。
JS解释器:
火狐 :spidermonkey
Chrome: node: v8
Safari:JavaScriptcore
edge: chaket
JS可以放在什么地方?写在网页的什么位置?
放在结束body标签在后一行的上面
JS的数据类型
- 数字(number):整数,正数,小数,负数。
- 字符串(string):a,中文,@。
- 布尔型(boolean):true(1) false(0)
- 空:(null)
- undefined:未定义 ,没有值
定义变量:
变量:
开发中尽量减少使用自变量,后期维护困难的问题
在ES6(JS的新版本中),新推出了两个词替代var
- let:变量中用了let声名,无法重复定义的
- const:有let的特点,const声明的变量就是一个常量
JS的复杂数据类型
- 数组:一个变量对应多个值 1.使用数组函数
- 2. 使用new关键字
- 3.使用字面量的方式
<body> <script> //1.使用数组函数 let arr1= Array();// console.log(arr1); //警告弹窗 //alert(arr); console.log(1111); console.log(arr1); //2.使用new关键字 let arr2=new Array(); //3.使用字面量的方式 let arr3=[1,2,3,4,5]; //赋值 //下标(索引) //给数组的第一个元素赋值 arr3[0] = 100; arr3[1] = 90; //打印输出数组中的第一个值 console.log(arr3[100]); </script> </body>
- 函数:定义一个函数,用来执行一系列代码,函数定义之后,不会自己执行需要我们手动调用函数。
- 无参无返回值
- 无参有返回值
- 有参无返回值
- 有参有返回值
《函数内部不可以再声明函数,但是可以调用函数,调用的方式和正常调用的方式相同》
return除了可以返回结果,还可以终止函数的继续执行。开发中,尽量不要在return后面继续造语句。
弹窗:实质上就是函数(\n换行弹窗里的回车)
- alert:警告弹窗
- confirm:带有确认和取消的弹窗,有返回值。点击确认返回ture。点击取消返回false。
- prompt:带有文本框的弹窗,有返回值,返回的就是文本框的内容。
逻辑判断,流程控制
JS的一个
所有的非空判断都会解析成ture
三元运算符
语法是固定的,只有一个条件两个选项。
+的特殊性:
除了可以进行加法计算之外,连接符。如果先入为主的认定+是连接符
判断:
逻辑判断:
if...else;
语法:
if(条件表达式){
要执行的代码;
}else{
要执行的代码;
}
if...else结构和多重if结构有什么不同
它可以嵌套,无限嵌套,原则上要求不超过三层
switch...case结构:
语法:
switch(表达式){
case选项一:
要执行的代码:
break:
case选项二:
要执行的代码
break:
......
default:
要执行的代码:
}
当表达式的值在case中匹配成功,会执行对应的代码,但是停不下来,后面的代码会继续执行。
怎么选?
- 当需求为区间范围时,switch....case根本无法使用
- if...else基本上啥都能干
- switch...case效率高
- 当需求为固定值,且值不多,switch...case
- 能用switch...case解决的不要用if...else
相似之处:
- 几乎所有的switch...case都可以转化为if...else
- default几乎相当于else
- case几乎相当于if
- 他俩都可以嵌套
不同之处:
- switch需要braek
- switch里面的选型杂乱无章
总结
- JS的引入,应该写在什么地方
- 数据类型
- 变量的定义和声明 var let const
- 三种弹窗
- 函数xxxxx
- return的作用
- 变量的作用域
- 运算符
- typeof isNAN
- 三元运算符
- 流程控制语句,两个流程控制之间的相互配合嵌套关系xxx
<script> n % 400 == 0 function isRun(n) { if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0) { //此时是闰年 console.log(n + "是闰年"); } else { //此时不是闰年 console.log(n + "不是闰年"); } } isRun(2016) //////////////////////////////////////////// function isRun2(n) { switch (n % 400) { case 0: console.log(n + '是闰年'); return; default: if (n % 4 == 0 && n % 100 != 0) { console.log(n + '是闰年'); return; } console.log(n + '不是闰年'); } } isRun2(1900) </script>
两种办法都可以得到