关于js call函数的简单理解

js里面的call(),bind(),apply()三个函数都能改变函数执行时的上下文,现对call函数进行一个炒鸡简单的演示。

var ii=123;
var abc=function(){
    console.log("函数abc()被执行");
    console.log("当前上下文中的参数ii:"+this.ii);
}
abc.ii=456;
abc.call();

//console: 函数abc()被执行
//console: 当前上下文中的参数ii:123
//传入call方法的第一个参数为空时,上下文自动指向到window对象,此时this==window,this.ii即全局的参数ii。

var ii=123;
var abc=function(){
    console.log("函数abc()被执行");
    console.log("当前上下文中的参数ii:"+this.ii);
}
abc.ii=456;
abc.call(abc);

//console: 函数abc()被执行
//console: 当前上下文中的参数ii:456
//传入call方法的第一个参数为abc函数对象,上下文自动指向到abc函数对象,此时this==abc,this.ii==abc.ii。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值