javascript - 理解JavaScript的调用函数

标签 javascript

我正在尝试在 JavaScript 中调用和应用函数,我想出了一个方法来帮助我理解它们在做什么,但我想在将其记入内存之前检查它是否正确。

设备是

x.method.call(y, z)有效调用 y.method(z)哪里method仅存在于x .

对于所有情况都是如此吗?我完全偏离轨道了吗?有没有更好的方法来思考这个问题?

最佳答案

您的解释基本上是正确的,并且是一种合理的思考方式。实际发生的情况是执行不带括号的 x.method 来“解除绑定(bind)”函数,并将 this 的值更改为 window (或 在严格模式下未定义)。然后,当您对函数参数调用 call 时,您可以将 this 的值更改为传递给 call 的第一个值。 p>

关于javascript - 理解JavaScript的调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23728092/

相关文章:

javascript - HTML5 FileReader.readAsDataURL 的输出可以用于引用字体吗?

javascript - 如何在每次点击时打开新窗口

javascript - AngularJS 分页 orderBy 只影响显示的页面

javascript - 谷歌地图聚类器没有标记

javascript - 无法将 JSON 文件放入变量中

javascript - AngularJS - 错误 Controller 不是函数,未定义

javascript - 将鼠标悬停在其上时,Popover 不会隐藏

javascript - Chat Bot twitch IRC 集成,无法从 NAMES 421 Unknown Command 获得响应

javascript - 在超链接中使用 href 而不是 onClick - Javascript

javascript - Angular js 没有在 Controller 上返回任何内容