强制改变this指向
1,call
格式:函数名.call()
参数:
第一个参数:传入该函数this指向的对象,传入什么指向什么
第二个参数开始:将原函数的参数往后顺延一位
<script>
function show(x,y){
alert(this); //call
alert(x+','+y) //10,20
}
show.call("call",10,20)
</script>
2,apply
格式:函数名.apply
第一个参数:传入该函数this指向的对象,传入什么指向什么
第二个参数:数组,数组里放入原有的所有参数
<script>
function show(x,y){
alert(this); //call
alert(x+','+y) //10,20
}
show.apply("call",[10,20])
</script>
let和const关键字(ECMA6后)
var关键字声明变量,将变量或者形参所在的函数大括号作为作用域处理
let关键字声明变量,只要遇到大括号就形成作用域
注:let关键字声明变量所在作用域叫做块级作用域
const声明变量,变量的值只能在声明时确定,后续没有办法修改
注:const声明常量(变量没办法改)