无所事事的样子开始了摸鱼的一天
看看能干点啥呢(公司的网好慢啊~~~)
ES2015 作用域
ES2015之前 只有全局作用域、函数作用域
ES2015 新增块级作用域
for循环用到i的点击事件可算不用闭包了(ps:简单的闭包没了,剩下的都是什么呢)
作用域
let 一般声明为变量
const 一般声明为常量 不能修改了哦 TS严格标准下就不是一般了 强迫症表示不能有红色波浪线
const name; X
const name='mdzz'; ✔
const name='mdzz'; name='noZZ'; X
const obj={};obj.name='mdzz'; ✔
ES2015 数组解构
const arr = [123,456,789];
const firstArrNumber = arr[0];
...
const [,mdzz,] = arr;console.log(mdzz);//456
const [a,...mdzzList] = arr; console.log(mdzzList);// [456,789]
// 神奇的很 ...参数名 只能放到最后哦
// 参数多了就undefined了
// 参数多了 怕取不到可以给默认值的哦~
// 参数少了就按下标顺序对应赋值咯
ES2015 对象解构(ps:啥玩意,我对象呢???,国家分配排队中。。。99%)
const obj={name:'mdzz',age:26,who:'single dog'};
const {name} = obj;
console.log(name); // mdzz
const name='noZZ'; // 就要和你重名,你的名字充满生机
const {name:objName}=obj; // 呸,谁和你叫一个名了,老子有小名
console.log(objName); // mdzz
const {log} = console;
log('heiheihei'); //复用了唉
ES2015 模板字符串
// 能换行了,字符串
const str = `随便换
行了`;
// 来个插值表达式
const name = 'mdzz';
console.log('this is a ${1+1} ${name}');
ES2015 高级模板字符串 高级的狠呢
const name = 'zz';
function mdzz(strings, name) {
return 'hey ,YES' + name + strings[0];
}
const str = mdzz`is you ${name}`;
console.log(str);
// 检查字符内有没有什么神奇的不该出现的文字啊,要更厉害,做成个模板引擎 我觉得可以做个galgame引擎的
ES2015 高级的很字符串
includes(xx) // 是否包含xx
startsWith(xx) // 是否以xx开头
endsWith(xx) // 是否以xx结尾
ES2015 函数参数默认值
// 参数有默认值要要写后边,不然不白写了么
function (name,age='999岁') {
console.log(name+':'+age); // 你看吊么
}
ES2015 剩余参数
替代了arguments
就那么...args 代表剩余的其他参数
只能有一个...啊 你都有一个了 剩余的都全选了 那还有别的剩余的
来了来了 箭头函数 →.→
好像没啥可说的啊
更简便的写法呗就
对对对,不会改变this的指向 function会哦~
也就是 this和箭头函数么的关系的
谁调用就指向谁
const obj={
name:'asd',
hi:()=>{ //没调用hi方法的时候是无法得知下面的this是谁的哦
console.log(this);
}
}
obj.hi() // node环境 undefined dom环境window
一天要过去了,网实在是慢啊,来手5G行不行
—————————————————————————————————————————————————————— 我这废柴