基础篇1
基本语法
变量名:
- 基本语法
- 变量名:
- 注释符
- 数据类型
- 数字型
- 布尔型
- 运算法则
- 字符串
- 数组
- 对象:
- 条件跟循环
- 转义字符
- Map和Set的用法
- 遍历集合
var a;
a=1
或者var a=1;
变量名的命名规则跟c语言一样。
注释符
- //为单行注释
- /**/为文本注释
123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
布尔型
true和false的运用
运算法则
+,-,*,/,%
||,&&,!
>,=,>=,++,--等
注意区别==和===
===值加数据类型
字符串
1. 字符串:单引号中有双引号,一个字符串不能单引号双
2. 引号同时出现,如果都有用\转义,多行字符串,使用``
模板字符串:+连接字符串,${变量名}可以来连接字符串
操作字符串,s.length,也相当于数组,有索引,toUpperCase(),index of()找索引,substring(0,5).
2.转义字符:\n换行,\x##表示ASCL码,\u####表示一个unicode字符
数组
数组的创建:
var a=[1,2,3,4],或者var a=new Array([1,2,3]);
数组里面可以为任意数据类型的值, 数组的赋值可以改变数组的长度也可以改变数组的值。
索引引用,
长度:length,
indexOf(3)寻找索引,
slice(1,5)切割,前一个参数是开始的位置,后面一个是从开始到最后的个数。
push(),往数组末尾添加若干元素
pop(),删除末尾最后一个元素
unshift(),往数组开头添加若干个元素
shify(),删除开头第一个元素
sort(),对数组进行排序,一般为升序
reverse(),数组的值进行倒转
splice(),删除元素并添加元素,(参数1,参数2,参数3....)。参数1,参数2跟slice一样,后面是要添加的元素
concat(),连接两个字符串,得到一个新的数组
join(字符)是将数组中每个元素用字符连接起来,并返回一个字符串
对象:
对象:键值对,键是字符串,值可以为任意类型,键被称为属性,用点号.来引入对象的属性,获得属性的值
var object={
a:abc,//前面的都要逗号,最后一个不要逗号
b:bcd
}
var huo=object.a;
object.c=cde可以增加属性,delete可以删除属性
条件跟循环
跟c语言一样,这儿就不说了
转义字符
转义字符:\n换行,\x##表示ASCll码,\u####表示一个unicode字符
Map和Set的用法
map的使用方法(键值对)
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);//二维数组
console.log(m.get('Michael')) //输出 95
初始化map
var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 输出key的值67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
一个key只能对应一个value,多了会掩盖
var m = new Map();
m.set('Adam', 67);
m.set('Adam', 88);
m.get('Adam'); // 88
Set的使用方法
是一组key的集合,不包含value值,因为key不能重复,所以在set中没有重复的key,当有重复的key,会直接冲掉
创建Set
var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3,一维数组
添加元素,add(key)
删除元素,delete(key)
遍历集合
//for of 遍历集合
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // 遍历Array
console.log(x);
}
for (var x of s) { // 遍历Set
console.log(x);
}
for (var x of m) { // 遍历Map
console.log(x[0] + '=' + x[1]);
}
//for of与 for in也有一定的区别
//for in会把属性包括在里面
var a = ['A', 'B', 'C'];
a.name = 'Hello';
for (var x in a) {
console.log(x); // '0', '1', '2', 'name'
//for of 不会
var a = ['A', 'B', 'C'];
a.name = 'Hello';
for (var x of a) {
console.log(x); // 'A', 'B', 'C'
}
//使用forEach来遍历函数
a.forEach(function (element, index, array) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element + ', index = ' + index);
});
Set没有索引