JavaScript概念
- 概念:一门客户端脚本语言
- 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎。
- 脚本语言:不需要编译,直接就可以被浏览器运行了
- 功能
- 可以来增强用户和html页面的交互工程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
- JavaScript=ECMScript+BOM+DOM
- 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎。
ECMScript
客户端脚本语言的标准
- 基本语法:
- 与html结合方式
- 内部JS
- 定义
<script>
,标签体内容就是js代码
- 定义
- 外部JS
- 定义
<script>
,通过src属性引入外部的js文件
- 定义
- 注意:
<script>
可以定义在html页面的任何地方。但是定义的位置会影响执行顺序<script>
可以定义多个
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 内部JS 外部JS --> <script> //内部标签 //出现一个弹窗(显示“hello world”) alert("hello world"); </script> <script src="js/a.js"></script> //外部标签 </head> <body> </body> </html>
- 内部JS
- 与html结合方式
2. 注释
1. 单行注释://注释内容
2. 多行注释:/*注释内容*/
3. 数据类型:
1. 原始数据类型(基本数据类型)
1. number:数字。整数/小数/NaN(not a number 一个不是数字的数字类型)
2. string:字符串。字符/字符串 "abc" "a" 'abc'
3. boolean:true和false
4. null:一个对象为空的占位符
5. underfine:未定义。如果一个变量没有给初始化值,则会被默认赋值为underfine
2. 引用数据类型:对象
4. 变量
* 变量:一小块存储数据的内存空间
* Java语言是强类型语言,而JavaScript是弱类型语言。
* 强类型:在开辟变量存储空间时,定义了空间将来存储的数据类型。只能存储固定类型的数据。
* 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
* var 变量名=初始化值;
* typeof运算符:获取变量的类型
* 注:null运算后得到的是object
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
//定义变量
// var a=3;
// alert(a);
// a='abc';
// alert(a);
//定义number类型
var num=1;
var num2=1.2;
var num3=NaN;
//输出到页面上
document.write(num+"<br>");
document.write(num2+"<br>");
document.write(num3+"<br>");
//定义string类型
var str="abc";
var str2='edf';
document.write(str+"<br>");
document.write(str2+"<br>");
//定义Boolean类型
var flag=true;
document.write(flag+"<br>");
//定义null
var obj=null;
var obj2=undefined;
var obj3;
document.write(obj+"<br>");
document.write(obj2+"<br>");
document.write(obj3+"<br>");
</script>
</head>
<body>
</body>
</html>
结果为:
//定义number类型
var num=1;
var num2=1.2;
var num3=NaN;
//输出到页面上,并且打印出数据类型
document.write(num+"---"+typeof (num)+"<br>");
document.write(num2+"---"+typeof (num)+"<br>");
document.write(num3+"---"+typeof (num)+"<br>");
5. 运算符
1. 一元运算符:只有一个运算数的运算符
2. 算术运算符: ` + - * %...`
3. 赋值运算符:= += -+...
4. 比较运算符
< > >= <= == ===(全等于)
5. 逻辑运算符
`&& || |`
6. 三元运算符
? :
7. 流程控制语句
- ++ -- +(正号)
- ++ --:自增(自减)
- ++(--)在前,先自增(自减),再运算
- ++(--)在后,先运算,再自增(自减)
- +(-):正负号
- 注意:在JS中,如果运算数不是所需求的类型 ,那么js一起会自动的将运算数进行类型转换
- 其他类型转number;
- string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
- boolean转number:true转为1,false转为0
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> var num=3; var a=++num; document.write(num+"<br>"); //4 document.write(a+"<br>");// 4 // document.write("<hr>"); var b=+"abc"; alert(typeof (b)); //number alert(b+1); //NaN var flag=+true; var f2=+false; document.write(typeof (flag)+"<br>"); //number document.write(flag+"<br>"); // 1 document.write(f2+"<br>"); // 0 </script> </head> <body> </body> </html>
- 其他类型转number;
-
算术运算符: + - * %...
-
赋值运算符:= += -+...
-
比较运算符
< > >= <= == ===(全等于)
- 比较运算符:
- 比较方式
- 类型不同:先进行类型转换,再比较
- ===:全等于(比较特殊):在比较之前,先判断类型,如果类型不一样,则直接返回false
- 类型相同:直接比较
-
字符串,按照字典顺序比较,按位逐一比较,直到得出大小为止。
- 逻辑运算符
&& || !
!:非
- 其他类型转boolean;
-
number:0或NaN为假,其他为真
-
string
-
null & underline
-
对象;
-
三元运算符
? : -
流程控制语句
-
- 基本对象