javascript的apply和call函数学习

本文介绍了JavaScript中的call和apply方法的使用方式及区别。通过示例说明了如何改变函数内部this指向,使函数可以在特定作用域中运行。call与apply的第一个参数相同,都是指定函数执行时的上下文对象,但传递参数的方式不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

apply(o,arguments)、call(o,[arg1,agr2,...]) 这两个方法的作用就是在将定的作用域中调用函数,即所有函数内部的this指针都会被赋值为o,其目的是实现将函数作为另外一个对象的方法运行 。

引用网上一个代码段:
function Obj(){this.value="对象!";}
var value="global 变量";
function Fun1(){alert(this.value);}
window.Fun1(); //global 变量
Fun1.call(window); //global 变量
Fun1.call(document.getElementById('myText')); //input text
Fun1.call(new Obj()); //对象!


apply和call的第一个参数的意义是一样的,但第二个参数就不同,call的是call的参数arguments,apply传入的是参数数组,apply(o, [arg1,arg2,...].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值