JavaScript基础
目录
1. 什么是JavaScript
1. 概述
JavaScript是一门世界上最流行的脚本语言
Java和JavaScript无关
一个合格的后端人员,必须要精通JavaScript
2. 历史
https://blog.csdn.net/kese7952/article/details/79357868
ECMAScript可以理解为JavaScript的一个标准
最新版本已经到es6版本
但是大部分浏览器还只停留在支持es5代码上
开发环境和线上环境的版本不一致
2. 快速入门
1. 引入JavaScript
1. 内部标签
<script>
//.......
</script>
2.外部引入
abc.js
//.....
test.html
<script src="abc.js"></script>
测试代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <!–script标签内,写JavaScript代码–>-->
<!-- <script>-->
<!-- alert('hello,world');-->
<!-- </script>-->
<!--外部引入-->
<!--注意:script必须成对出现-->
<script src="js/qj.js"></script>
<!--不用显示type,默认使用JavaScript-->
<script type="text/javascript"></script>
</head>
<body>
<!--这里也可以存放JS代码-->
</body>
</html>
2. 基本语法入门
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--JavaScript严格区分大小写-->
<script>
//1.定义变量 变量类型 变量名 = 变量值
var score = 1;
// var name = "Wang";
//2.条件控制
if (score > 60 && score < 70) {
alert("60~70");
}
else if(score > 70 && score < 80){
alert("70~80");
}else{
alert("other");
}
// console.log(score); 在浏览器的控制台打印变量,相当于sout
</script>
</head>
<body>
</body>
</html>
3. 数据类型
数值,文本,图形,音频,视频......
1. number
js不区分小数和整数,都用number定义
123 //整数123
123.1 //浮点数123.1
1.123e3 //科学记数法
-99 //负数
NaN //not a number
Infinity //表示无限大
2. 字符串
"abc" 'abc'
3 .布尔值
true false
4. 逻辑运算
&& 两个都为真,结果为真
|| 一个为真,结果为真
! 非
5. 比较运算符(重要)
=
== 等于(类型不一样,值一样,也会判断为true)
=== 绝对等于(类型一样,值一样,结果为true)
这是一个JS的缺陷,坚持不要使用==比较
须知:
- NaN === NaN,结果为false,NaN与所有的数值都不相等,包括自己
- 只能通过isNaN( )判断其是否为NaN
6. 浮点数问题
console.log((1/3) === (1-2/3)); //结果为false,精度会被截断
尽量避免使用浮点数进行运算,存在精度问题
Java中使用BigDecimal类进行判断
JS中如下
Math.abs(1 / 3 - (1 - (2 / 3))) < 0.0000001
7. null和undefined
- null 空
- undefined 未定义
8. 数组
Java的数组必须是相同类型的对象,JS不需要这样
//保证代码的可读性,尽量使用第一种方法定义数组[]
var arr = [1, 2, 3, 4, "hello", null, true];
new Array(1, 12, 3, "hello");
取数组下标:如果越界了,就会undefined
9. 对象
对象是大括号,数组是中括号
每个属性之间使用逗号隔开,最后一个不用加逗号
var person = {
name: "wang",
age: 3,
tags: ['js', 'java', 'web', '...']
}
取对象的值
var name = person.name;
var age = person.age;
var tags = person.tags;
10. 变量
var
4. 严格检查模式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--
前提:IDEA 需要设置支持ES6语法
'use strict'; 严格检查模式,预防JavaScript的随意性导致产生一些问题
必须写在JavaScript的第一行
局部变量建议都是用let去定义
-->
<script>
'use strict';
// 局部变量
let i = 1; // ES6支持
</script>
</head>
<body>
</body>
</html>