this 默认window对象
在对象内或者new的时候,this指当前对象
call和apply可以改变this的值
/* function add(a,b){
console.log(this);
return a+b;
}
function sub(a,b){
console.log(this);
return a-b;
}
var m1=add(10,8);
var m2=add.call(sub,10,8)
var m2=add.apply(sub,[10,8]);//执行add方法
var m2=sub.call(add,10,8);
var m2=sub.apply(add,[10,8]);
console.log(m1);
console.log(m2);*/
/*var fru={
color:'pink',
say:function(){
console.log('my color is '+this.color );
}
};
// fru.say();
var app={color: 'red'};
fru.say.call(app);*/
/*var arr=[1,2,3];
var arr0=[4,5,6];
//push
Array.prototype.push.apply(arr,arr0);
console.log(arr);*/
//求最大值
/*(function getMax(){
var m=Math.max.apply(null,arguments);
console.log(m);
})(100,200,8,600,900)*/
/*function Person(){
this.say=function(){
console.log('哈哈');
}
}
var s=new Person();
s.say();*/
/* var arr=[200,90];
Array.push.apply(arr,[10,20]);//error
console.log(arr);*/
(function show(){
Array.prototype.push.call(arguments,100);
console.log(arguments);
})(5,3,1,10);