JavaScript是世界上最流行的脚本语言
1、JavaScript引入
JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到 head 中:
内部嵌入到html
<script>
alert("hello world!!!");
</script>
外部引入到html
<script src="js/alert_message.js"></script>
此处不能够使用自闭和标签,javascript标签必须成对出现
<script type="text/javascript" src="js/alert_message.js"></script>不定义也默认是javasript标签
2、JavaScript语法
变量
所有的变量类型都是var
var num = 1;
"hello world!!!"
number 不区分小数和整数,统一使用number表示
123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示Infinity
字符串
"xxx" 'xxx'
布尔值
true、false
逻辑运算符
&&、|| 、!
比较运算符
=
==等于(类型不同,值一样,也会判断为true)
===绝对等于(类型和值都一样为true)
(NAN===NAN flase NAN与所有数值都不相等; isNAN(NAN)判断是不是NAN)
浮点数运算
(1/3)===(2/3) false
math.abs()<0.0000001
null 和nudefined
空和未定义
数组
一系列相同类型的对象
var arr = [1,2,3,4,5,"hello",true,null]
var arr = [1, 2, 3.14, 'Hello', null, true];
arr[0]; // 返回索引为0的元素,即1
arr[5]; // 返回索引为5的元素,即true
arr[6]; // 索引超出了范围,返回undefined
对象
JavaScript的对象是一组由键-值组成的无序集合,例如:
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
Person person = new Person(1,2,3,4,5);
3、严格检查模式(strict模式)
4、数据类型详解
4.1 字符串
![](https://i-blog.csdnimg.cn/blog_migrate/355707773125e09b74c9b64615b92c39.png)
'\x41'; // 完全等同于 'A' ASCII字符
let message = ` 你 好 啊`
let message = ` 你 好 啊,${name}`
字符串的可变性------不可变
4.2数组
数组定义
数组可变
indexOf
数字 30 和字符串 '30' 是不同的元素
slice:它截取 Array 的部分元素,然后返回一个新的 Array
类似于substring
push和pop
unshift和shift
sort
reverse
concat
concat() 方法把当前的 Array 和另一个 Array 连接起来,并返回一个新的 Array
(并没有修改原来的数组)
join
多维数组
4.3对象
![](https://i-blog.csdnimg.cn/blog_migrate/c0042b7fd0aaf93a1d918bed0c1c9661.png)
最后一个属性不加,
由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性
要判断一个属性是否是 xiaoming 自身拥有的,而不是继承得到的,可以用 hasOwnProperty() 方法:
4.4流程控制
只能打印下标
for....of可以打印具体的值
4.5Map 和 Set
ES6的新特性
Iterable
具有 iterable 类型的集合可以通过新的 for ... of 循环来遍历