arguments
arguments类数组对对象,代表传入函数传入函数参数的列表。
两种情况严格模式和非严格模式
严格模式下arguments展示如下:
function a(a){
"user strict"
a=10
console.log(a,arguments[0])
}
a(1)
//输出结果为10,1
非严格模式下arguments展示如下:
function a(a){
a=10
console.log(a,arguments[0])
}
a(1)
//输出结果为10,10
两种模式下输出的结果是完全不同的
apply
应用一个对象,用一个对象替换当前对象,会改变this指向,参数第一个是变量,第二个是数组,源码当中恰好arguments是一个类数组
call
调用一个对象的方法,用一个对象替换当前对象,会改变this指向,参数,第一个是变量,第二个可以是字符串
bind
会返回一个被修改过的函数改变this指向,这个函数不会被调用,需要手动调用
this.x=9
var demo={
x:81,
modelFn:functio