تابع پیوند زده شده به عنوان متد
اهمیت: 5
خروجی چه خواهد بود؟
function
f
(
)
{
alert
(
this
)
;
// ?
}
let
user =
{
g
:
f
.
bind
(
null
)
}
;
user.
g
(
)
;
جواب: null
.
function
f
(
)
{
alert
(
this
)
;
// null
}
let
user =
{
g
:
f
.
bind
(
null
)
}
;
user.
g
(
)
;
زمینهی تابع پیوند زده شده به طور قطعی ثابت شده. راهی برای تغییر بیشتر آن وجود ندارد…
پس حتی زمانی که ما user.g()
را اجرا میکنیم، تابع اصلی با this=null
فراخوانی میشود.