跳到主要内容
CNode

下面两种函数调用有啥不同?

Kkingapple发布于 12 年前最后回复 12 年前
845140
(function(){}.call(this))

(function(){})(this)
查看回复

回复 (8)

R
ravenwang#112 年前

上面的this用于绑定当前环境 下面的this是个普通参数

K
kingapple#312 年前
引用 ravenwang上面的this用于绑定当前环境 下面的this是个普通参数

@ravenwang

(function(){}.call(this))是否等价于下面这俩货呢:)

(function(){})(window)
(function(){})(global)
J
jiyinyiyong#412 年前
引用 ravenwang上面的this用于绑定当前环境 下面的this是个普通参数

@kingapple .bind() 的用法不是参数, 而是强制设定 this

K
kingapple#512 年前
I
icarusysuper#612 年前
引用 ravenwang上面的this用于绑定当前环境 下面的this是个普通参数

@kingapple 这个看你上下文的this本来是那个。

J
jiyinyiyong#812 年前
引用 ravenwang上面的this用于绑定当前环境 下面的this是个普通参数

@kingapple ...我神游了 f(a) 对应的是 f.call(window, a) x.f(a) 对应的是 x.f.call(x, a)

参与回复

登录后即可参与回复。登录