函数调用模式,this在函数中的指向

全局变量声明 var num === window.num ;

函数的四种调用模式
根据函数内部this的指向不同,可以将函数的调用模式分成4种
1函数调用模式
2方法调用模式
3构造函数调用模式
4上下文调用模式(借用方法模式)
1)函数调用模式:
function fn(){
console.log(this);//指向window;
}
fn();
如果一个函数不是一个对象的属性而是被当作一个函数来进行调用,内部的this指向的是window;
2)方法调用模式
当一个函数被保存为对象的一个属性时,我们称之为一个方法。当一个方法被调用时,this被绑定到当前对象
var obj = {
sayHi:function(){
console.log(this);//在方法调用模式中,this指向调用当前方法的对象。
}
}
obj.sayHi();
主要看谁去调用,this就指向谁;
3)构造函数调用模式
构造函数new里面,this指向新建的那个对象;
4)上下文调用模式(方法借用,模式)apply与call
+ call方法可以调用一个函数,并且可以指定这个函数的this指向
所有函数都可以使用call进行调用,
参数1:指定函数的this,如果不穿则指向window;
第二个参数是函数的参数

+ apply方法,
与call方法类似,apply()方法接受的是一个包含多个参数的数组。而call()方法接受的是若干个参数的列表,(apply是数组,call则是若干参数)

伪数组转变成数组
var arrayLike = {
0:d,
1:o.
2:h,
length:3
};
()[]前面都是要结束的,所以上面结束要加分号不然报错
var newArr = [].slice.call(arrayLike);

求一个数组的最大值,
var arr = [12,32,43,524,5235,52,42344,52342]
var max = Math.max.apply(null,arr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值