JAVAScript ?
编程语言,脚本语言,依赖于某种容器运行(浏览器来解释执行)
<script> </script>
编程语言的分类:
1.解释型:JS Python
2.编译型:C++ C#
3.半解释半编译:Java
Js是运行在浏览器上的,可以控制页面
Vue.js(6) react.js(3) jquery.js(0.5) angular.js(0.5)
Node.js前端的服务器语言
JS:给网页加功能的
Js放在</body>上面。
<body>
….
<script src="js/my.js"></script>
</body>
js尽量用外部样式,有些js必须在html中写。
注释://
JS的数据类型:
1.数字(number):整数、正数、小数、负数
2.字符串(string):a 中文 @
3.布尔型:Boolean:true false 0 1(00 01 10 11)
4.空值(null) 相当于声明了值为空
5.undefined:未定义 没有值(与任何数+-*/都是 nan
<body>
….
<script>
//变量
//number类型
Var n1=10;
//字符串类型 加引号会把变量变成字面量
Var n2="你好"/'你好'
//布尔类型
Var n3=true;
//空
Var n3=null;
//undefined
Var n5;(未赋值)
Alert(num1);//alert 认数字
</script>
</body>
新推出的两个词代替var
1.let:变量用let声明,无法重复定义
2.const:有let的特点,但是声明的是常量
JS的复杂数据类型
1.数组 :一个变量对应多个值
(1)使用数组函数
2.函数:定义一个函数,来执行一系列代码。 函数定义之后,不会自己执行,需要手动调用函数。
1.无参无返回
2.无参有返回
3.有参无返回
4.有参有返回
console.log ()是JavaScript中的一个内置函数,用于在控制台输出信息;
函数:名字+()
函数内部不可以再声明函数,但是可以调用函数,调用的方式和正常的调用方式相同
return除了可以返回结果,还可以终止函数的继续执行,开发中,尽量不要在return后面继续写语句。
弹窗
1.alert:警告弹窗
2.confirm() :带有确认和取消的弹窗,有返回值,点击确定,返回true,点击取消,返回false
3.prompt:带有文本框的弹窗,有返回值,就是文本框输入的内容
弹窗使用 反斜杠 + "n"(\n) 来设置换行。
\t \r \n都是转义字符,空格就是单纯的空格,输入时可以输入空格
\t 的意思是 横向跳到下一制表符位置
\r 的意思是 回车
\n 的意思是回车换行
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
运算符
1.算术运算符:+-*/%
2.console.log(5%2);
3.赋值运算符+= -= ++
逻辑运算符(得到布尔类型):
逻辑与& :有一个为false,结果是false
短路与&&且:一个为false,结果是false。前一个为false,后一个条件不执行
逻辑或|:有一个为true,结果是true
短路与||:一个为true,结果是true。前一个为true,后一个条件不执行
逻辑非!:!True=false !false=true
逻辑异或:^:相同是false,不同是true(两男在一起假 两女在一起假 5. 一男一女真)
三元运算符
格式:条件表达式?值1:值2;
+号的特殊性--除了可以进行加法计算之外,还是连接符。
如果先入为主的认定+号为连接符,那它就一直是连接符|
- */ %:可以进行类型转换,如果转不了,结果为NaN (not a number)
+与字符串运算的时候是用作连接符 ,结果仍然是字符串
获取数据类型:console.log(typeof a);
判断是否为数字(nan):let result=isNaN(a); console.log(!result);
js的一个原理解析:所有的非空的变量都会被解析成1(1代表true)
逻辑判断:
1.if….else:
语法:
if(条件表达式){
要执行的代码:
}else if{
要执行的代码:
}else{
要执行的代码:
}
If..else是可以嵌套的,可以无限嵌套,最好别超过3层。
2.Switch…case结构:
语法:
Switch(表达式){
Case 值1:
要执行的代码:
break
Case 值2:
要执行的代码:
break
…..
Default:
要执行的代码:
}
??怎么选??
当需求为区间范围时,switch…case无法使用
If else(区间匹配) 基本上都可以
Switch case(值匹配) 效率高 一下子就定义到某个值
相似之处:
1.几乎所有的Switch case都可以转化If else
2.default几乎相当于else
3.case几乎相当于 if
不同之处:
switch需要break
switch里面的选项可以杂乱无章
总结:
1.JS的引入,应写在什么位置
2.数据类型
3.变量的定义和声明 var let const
4.3种弹窗
5.函数
6.return的作用
7.变量的作用域
8.运算符
9.判断数据类型:typeof 是 不是一个数字 isnan
10.三元运算符(只能写两个选项)
11.流程控制语句(if…else switch …case)相互配合
总结:
数据类型:⭐⭐⭐
弹窗:⭐⭐⭐⭐
逻辑运算符:⭐⭐⭐
三元运算符:⭐⭐⭐⭐
逻辑判断:⭐⭐