let 变量 局部作用域
1)var 声明的变量没有局部作用域
2)同一个作用域 var 可以声明多次,let 只能声明一次
3)var 会变量提升 let 不存在
const 常量
解构赋值
// 定义多个变量 类似数组
let [x,y,z] = [1,2,3];
console.log(x+"-"+y+"-"+z);
// 定义对象变量 JSON 对象
let user = {'name':'张飞','sex':1};
console.log(user.name);
console.log(user.sex);
// 这样可省略 user 直接输出 name、sex
let {name,sex} = user;
console.log(name);
console.log(sex);
// JSON 字符串
let str = "{'name':'张飞','sex':1}"
// var parse = JSON.parse(str) JSON类型转换
// 查类型
console.log(typeof(user));
模板字符串
定义字符串使用反引号、多行、变量、表达式
let str = `abc \n bcd ${name}`;
声明对象简写 -- 简化对象变量的定义方案
let uname = '关羽';
let usex = 1;
let user2 = {uname,usex};
console.log(user2.uname);
console.log(user2.usex);
对象变量的复制、合并
let user3 = {...user};
console.log(user3.name);
console.log(user3.sex);
let user4 = {...user,...user2};
console.log(user4.name);
console.log(user4.sex);
console.log(user4.uname);
console.log(user4.usex);
简化函数定义
// 传统写法
function add(a,b) {
return a+b;
}
let o = add(10,20)
console.log(o);
// 函数定义 -- 类中
User1 = {
add:function(a,b) {
return a+b;
}
}
let p = User1.add(21,31);
// 函数定义 -- 类中
User2 = {
odd(a,b) {
return a-b;
}
}
let q = User2.odd(30,20);
console.log(q);
带默认值的函数、可变形参、箭头函数
// 定义一个 普通函数 -- 没有在类中 -- 设置默认值
function method1(a=10,b=11) {
console.log(a);
console.log(b);
}
method1(10,20);
// 定义一个 普通函数 -- 没有在类中 -- 定义可变形参 类似JavaSE 的可变形参 类型没Java严格
function method2(...params) {
console.log(params);
}
console.log(1,'liubei',new Date());
// 箭头函数
var method = () => {
console.log('箭头函数')
}
总结 三个知识点
变量操作:一般变量、对象变量
类中的函数、方法
一般的函数、箭头函数、可变形参、带默认值