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