问题描述
- js中apply()里面this的问题
- function sum(num1num2) {
return num1+num2;
}
function callsum(num1num2) {
return sum.apply(thisarguments)
}
alert(callsum(12)); //3callsum内部的sum.apply(thisarguments)中this指代的是什么?我知道单单在全局执行sum.apply(thisarguments)this代表window但到了函数里面this是什么呢?
解决方案
this指的是,调用函数的那个对象
解决方案二:
在函数内部分情况
function sum(num1num2) { return num1+num2;}function callsum(num1num2) { return sum.apply(thisarguments) // 但实际上从这个函数的功能来说,其实不用关心this是什么。}function a(){ this.obj={ callsum:callsum //类似这种方式的,是obj这个对象 } this.c=function c(num1num2){ callsum(num1num2);//对于这种方式的,是window }}
解决方案三:
apply主要用于更改被调用方法中this对象的指向。对于你的sum方法没有意义,应为么有使用this对象
时间: 2024-09-12 08:12:26