本文参考自廖雪峰的博客https://www.liaoxuefeng.com/
一、数据类型
二、字符串
三、数组
- Number:JS不区分整数和浮点数,统一用Number表示;其中,NaN表示Not a Number,无法计算结果时用NaN表示;
- 字符串、布尔值、与或非运算 和C语言中的一样;
- 切记要使用 === 来比较两个数据;唯一能判断NaN的是isNaN()函数;浮点数的大小比较要用Math.abs() 函数,看是否小于某一阈值;
- 数组:JS中的数组可包括任意数据类型,用 [ ] 表示,下标从 0 开始;
var arr = [1, 2, 3.14, 'Hello', null, true];
- 对象:JS中的对象是一组有键-值组成的无序集合;其中 键 都是字符串类型,而 值 可以是任意数据类型;
var person = { name: 'Bob', age: 20, tags: ['js', 'web', 'mobile'], city: 'Beijing', hasCar: true, zipcode: null }; person.name; // 'Bob' person.zipcode; // null
-
变量:命名规则与C语言差别不大,声明用 var ; JS是一门动态语言,所以变量声明一次,可重复赋不同类型的值;查看变量内容用 console.log() ;
-
使用 var 声明的变量不是全局变量,其作用范围被限制在被声明的函数体内;不同函数体的同名变量互不冲突;
-
开启strict模式:在JS代码的第一行写上:
'use strict';
- 字符串:用 ' ' 或 " " 包起来;转义字符与C语言差别不大;多行字符串可用 反引号 ` ` 包起来;(反引号在ESC键下方);
- 模板字符串:多个字符串可用 + 号连接;模板字符串如下:
var name = '小明'; var age = 20; var message = `你好, ${name}, 你今年${age}岁了!`; alert(message);
- 字符串可用下标来访问单个字符;
- 常用字符串操作方法:(这些方法本身不会改变原有字符串的内容,而是返回一个新字符串)
var s = 'Hello'; s.toUpperCase(); // 返回'HELLO' var s = 'Hello'; var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower lower; // 'hello' var s = 'hello, world'; s.indexOf('world'); // 返回7 s.indexOf('World'); // 没有找到指定的子串,返回-1 var s = 'hello, world' s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello' s.substring(7); // 从索引7开始到结束,返回'world'
- 数组:length()可读取数组的长度;但给Array的length赋新值会改变Array的长度;可通过数组下标直接修改Array内部的值;
- indexOf() 可用来搜索指定元素在数组中的位置;
- slice() 可用来截取数组的一段 ,其内部传入两个参数:开始索引、结束索引;若不传参数,则直接复制一个原数组;
- push() 向数组尾部添加元素,pop() 从数组尾部删除元素 ;
- unshift() 向数组头部添加元素,shift() 从数组头部删除元素;
- sort() 排序;reverse() 反转 ;splice() 可从指定索引开始删除若干元素,再从该位置添加若干元素
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle']; // 从索引2开始删除3个元素,然后再添加两个元素: arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite'] arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle'] // 只删除,不添加: arr.splice(2, 2); // ['Google', 'Facebook'] arr; // ['Microsoft', 'Apple', 'Oracle'] // 只添加,不删除: arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素 arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
- contact() 可接收任意个元素或数组,然后将其与原数组连接以前返回一个新数组,但不改变原数组;
- join() 会把数组内的元素转换为字符串,然后用传入的字符连接成一个字符串,再返回;
四、对象
var xiaoming = {
name: '小明',
birth: 1990,
school: 'No.1 Middle School',
height: 1.70,
weight: 65,
score: null
};