ES6的相关语法
* let,const与var关键字声明变量有什么区别:
1. const声明的是常量,一经声明不允许改变。
2. const和let都有块级作用域的概念,而非函数作用域。
3. const和let都不存在变量提升的操作。
4. let有暂时性死区的特性,如果在某个作用域中使用let关键字声明了变量,那么在这个作用域中任何其他作用域都不允许侵入该变量。
5. for语句枚举使用let关键字可以纠正自增变量的准确性.
* 箭头函数与普通函数的不同点:1.写法不同;2.this指向不同:箭头函数本身不形成封闭的this作用域,也就是在函数体外边this指向哪里,箭头函数的函数体内部的this就指向哪里;
// 箭头函数
// var fn2 = (num)=>{
// return num
// }
// let fn2 = num => num;
// console.log(fn2(1111))
// console.log((num => num)(10))
// $("#div1").onclick = ()=>{
// console.log(this)
// }
$("#div1").onclick = function(){
let type = "灵长类"
var wangdawei = {
name:"王大伟",
age:18,
sex:"male",
// 属性的简写
type,
sayName:()=>{
// 这里的this指向了div1
// 因为箭头函数本身不形成封闭的this作用域,也就是在函数体外边this指向哪里,箭头函数的函数体内部的this就指向哪里。
console.log(this)
}
}
wangdawei.sayName()
}