问一个apply和call问题

var func = function(arg1, arg2) {

     

};

func.call(this, arg1, arg2);

func.apply(this, [arg1, arg2])

这里的this指的是不是func函数

我要去幼儿园深造了
浏览 1240回答 2
2回答

Samaritan

在 js 中 this 代表的是当前的 context,也就是执行环境,你的例子如果直接卸载最外层,this 就是 window使用 call 或者 apply 第一个参数是一个对象(你例子中传入的是 this),这个对象的作用是作为 func 函数执行的环境window.x = 0; function func(){   alert(this.x); } var obj = {   x: 1,   m: func }; obj.func.apply(this); // 0 obj.func.apply(window); // 0 obj.func.apply(obj); // 1

cxxyjsj

call和apply方法的第一个参数是指方法的作用对象,也就是func中this的值。可以类比java中Method.invoke的第一个参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript