1、var
JavaScript中,我们通常说的作用域是函数作用域,使用var声明的变量,无论是在代码的哪个地方声明的,都会提升到当前作用域的最顶部,这种行为叫做变量提升(Hoisting)
const和let的异同点
相同点:const和let都是在当前块内有效,执行到块外会被销毁,也不存在变量提升(TDZ),不能重复声明。
不同点:const不能再赋值,let声明的变量可以重复赋值。
2、字符串
引用模板字面量进行字符串拼接 可以抛弃以前字符串 + 的操作了。
const template = data => ` <p>${data.name}</p> <p>${data.profile.age}</p> <ul> ${data.skills.map( skill=>` <li>${skill}</li> `).join('')} </ul>` const data = { name:'yjw', profile:{ age:100 }, skills:['html5','javascript','css'] } document.body.innerHTML = template(data);
3、函数