0、前言:
- JS全称是JavaScript,是一种脚本语言,诞生于1995年,JS是由ECMAScript(包含js语法)、BOM(Brower Oject Model,和浏览器相关操作)、DOM(Document Object Model,和页面内容相关操作)组成的。JS的版本有ES5、ES6、ES7、ES8
- JS可以写在HTML文件当中的,JS也可以写在后缀名为js的文件当中,然后导入到html文件中,还可以写在标签中,作为标签属性。和CSS一样,JS也有三种写入html的写法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
</style>
<script type="text/javascript">
console.log('控制台打印内容!')
</script>
<script src="./demo.js">
</script>
</head>
<body>
<script>
console.log('body中执行')
</script>
<button onclick="alert('错误')">点击会弹出内容</button>
</body>
</html>
- JS当中每行代码结束最好都加上分号,JS是弱数据类型语言,容错率比较高。
- 注意html代码写好之后调试会出现网页,如果期间代码有修改,可以通过刷新网页更新页面。
1、JS基本语法:
- 变量:定义变量要使用var(variable)关键字,可以先定义在赋值,也可以定义加赋值。可以通过逗号隔开,一次定义多个变量。变量类型无需声明,赋值是什么变量类型就是什么。
- 命名规范:
- 数字、字母、下划线以及美元符($)组成
- 首字符不能为数字
- 不能使用关键字或者保留字
- 区分大小写
- 小驼峰命名:myStudentScore,大驼峰命名:MyStudentScore
- 数据类型:Number(int, float), Boolean(布尔类型), String(字符串), Array(数组,类似python中的列表), Object(对象), Set(集合), Null(空,是对象类型的一种值), Undefined(变量未定义的默认值,是有Null派生而来,两者相等但不全等,但undefined类型就是其本身)
- NaN:not a number,是一种非法运算的结果。
- 布尔类型转换规则:非空字符串为true,空字符串为false。非0数值为true,0或者NaN为false,null为false,undefined为false。
- 在JS中整数是4个字节保存,浮点数是8个字节保存,一般为了节省内存,就会把12.0这种数值强转为整数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var a = 10;
console.log(a);
var a=1,b=2,c=3;
console.log(a,b,c);
var m=10;
console.log(typeof m);
var n=3.2;
console.log(typeof n);
var l=3.14e3;
console.log(l);
console.log(1/0);
console.log(1/0*0);
console.log(isNaN(NaN));
console.log(parseInt(10.8));
console.log(parseInt('10'));
console.log(Math.round(3.243));
console.log(3.145.toFixed(2));
console.log(Math.max(3,1,2,-1));
console.log(null == undefined)
console.log(null === undefined)
</script>
</body>
</html>
2、算数运算符和关系运算符:
- 算数运算符:+,-,*,/,%(取余数)
- 字符串和变量的拼接:+
- 关系运算符:>,<,<=,>=,两个等于号 (值相等就成立),三个等于号(值和类型都相等才成立), !=,!==
- 逻辑运算符:&&、//、! (特别注意逻辑运算中的短路运算,且运算遇到false则短路,或运算遇到true则短路)
- 赋值和复合运算符:=、+=、-=、*=、/=、%=
- 一元运算符:++a,a++,–a,a–
- 三目运算符:条件?满足条件执行语句 :不满足条件执行语句
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
console.log(10+4);
console.log(10%4);
console.log(10/4);
console.log(10**2);
console.log('hello'+'haha');
console.log('hello'+10+20);
console.log(10+20+'hello');
console.log(10 == '10');
console.log(10 === '10');
console.log(NaN == NaN);
console.log('abc'>4);
console.log('abc'<4);
console.log(0 && true);
console.log(false && 0);
console.log(true || 0);
console.log(0 || 1);
var n = 10;
var m = n++;
console.log(m,n);
var n = 10;
var m = ++n;
console.log(m,n);
var a = 10;
console.log(a++);
console.log(++a);
var a = 10;
console.log(a--);
console.log(--a);
var a=20,b=30;
console.log(a>b?a:b);
</script>
</body>
</html>