1. 声明变量
声明方式:var, let, const
var(已弃用):可重复声明,可以先使用后声明,未声明直接使用的变量默认var
let (变量):只能声明一次,必须先声明后使用。
const(常量):声明必须赋值,基本类型值不能变更。引用类型地址不能变更,可变属性。
2. 数据类型
基本类型:number, string, boolean, undefined, null
引用类型:Array, Object
2.1. Number(数值)
2.2. String(字符串)
定义字符串三种方式:
单引号:let a = 'a'
双引号:let b = "b"
反引号:let c = `abc` // 模板字符串,ES6新语法
注释:单引号双引号没有区别,反引号可以优化原有字符串拼接,将 'a' + b 变为`a${b}`。
2.3. boolean
2.4. undefined
未声明, 变量的值为 undefined
声明未赋值,变量de值为 undefined
2.5. null
空值:null
2.6. Array(数组)
2.6.1 数组定义
方式1:let a = [ ];
方式2:let a = [xx, xxx, xx];
方式3:let a = new Array(xx, xx, xx);
2.6.2 数组取值
变量[下标]; // a[0]
2.6.3 数组改值
变量[下标] = 1; // a[0] = 1
2.6.4 数组添加
数组.push(值1, 值2...); // a.push(1, 2)按参数顺序,添加到数组末尾
数组.unshift(值1, 值2...); // a.unshift(1, 2)按参数顺序,添加到数组开头
2.6.5 数组删除
数组.pop(); // 删除末尾1个元素
数组.shift(); // 删除开头1个元素
数组.splice(下标, 数量); // a.splice(0, 2) 按指定下标,删除指定数量的元素
数组.splice(下标); // a.splice(2) 按指定下标,删除之后的所有元素
2.7. Object(对象)
2.7.1 对象定义
let obj = { }; // 定义空对象
let obj = { 属性名: 属性值, 方法名: 方法 }; // let obj = { 'a' : 1, fn1: function() { ... } }对象属性和方法
注释:属性名可用,单引号,双引号括起来,也可省略。属性名含特殊符号需要加引号。
2.7.2 查询属性
对象.属性名; // obj.a
对象['属性名']; // obj['a'] 属性名含特殊符号的取值方式
对象.方法名(); obj.fn1() 调用对象函数
2.7.3 更改属性
对象.属性名 = 值; // obj.a = 2
2.7.4 新增属性
对象.新属性名 = 值; // obj.b = 'abc'
2.7.5 遍历对象属性(for in语法)
for ( key in obj ) {
// key 是含引号的属性名
obj[key] ; // 获取属性值
}
备考:js使用位置,内部引用,外部引用,内嵌。
写在body内的js会与html逐行解析,除了alert 和prompt