1、两种方式运行JS
2、调试工具,Chrome--F12(开发者工具)
console控制台,直接输入js并运行;
要查看一个变量的内容,在Console中输入console.log(a);,回车后显示的值就是变量的内容。
一、基本语法
- 每个语句以;结束,语句块用{...}
- //单行注释
- /*多行注释*/
- 请注意,JavaScript严格区分大小写,如果弄错了大小写,程序将报错或者运行不正常
- 不用var申明的变量会被视为全局变量,为了避免这一缺陷,所有的JavaScript代码都应该使用strict模式。我们在后面编写的JavaScript代码将全部采用strict模式。
二、数据类型
- number
JavaScript不区分整数和浮点数,统一用Number表示;
- 字符串
字符串是以单引号'或双引号"括起来的任意文本;
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以 \\表示的字符就是\。
toUpperCase()把一个字符串全部变为大写:
toLowerCase()把一个字符串全部变为小写:
indexOf()会搜索指定字符串出现的位置:
substring()返回指定索引区间的子串:
- 布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有true、false两种值
&&运算是与运算
||运算是或运算
!运算是非运算
- 数组
数组用[]表示,元素之间用,分隔。索引的起始值为0
'use strict';
var arr = ['小明', '小红', '大军', '阿黄'];
console.log(`欢迎 ${arr[0]}、${arr[1]}、${arr[2]}和${arr[3]}同学`);
- 对象
JavaScript对象的键都是字符串类型,值可以是任意数据类型;要获取一个对象的属性,我们用对象变量.属性名的方式:
var xiaoming = { name: '小明',
birth: 1990,
school: 'No.1 Middle School',
height: 1.70, weight: 65, score: null };
person.name;
delete xiaoming.age; // 删除age属性
//用in判断一个属性是否存在(包括继承得到的属性)
'name' in xiaoming; // true
'grade' in xiaoming; // false
JavaScript用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。JavaScript规定,访问不存在的属性不报错,而是返回undefined
- 条件判断
JavaScript使用if () { ... } else { ... }来进行条件判断
'use strict';
var age = 20;
if (age >= 6) {
console.log('teenager');
} else if (age >= 18) {
console.log('adult');
} else {
console.log('kid');
}
- 循环
for循环最常用的地方是利用索引来遍历数组:
'use strict';
var arr = ['Apple', 'Google', 'Microsoft'];
var i, x;
for (i=0; i<arr.length; i++) {
x = arr[i];
console.log(x);
}
for循环的一个变体是for ... in循环,它可以把一个对象的所有属性依次循环出来:
'use strict';
var arr = ['Bart', 'Lisa', 'Adam'];
for (var i in arr){
console.log('hello ' + arr[i]);
}
- map
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'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
- set
Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set:
var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"}
s.add(4); //添加新的元素
s.delete(3); //删除元素
- iterable
Array、Map和Set都属于iterable类型。
具有iterable类型的集合可以通过新的for ... of循环来遍历。