javascript - 关于javascript函数引用的问题

标签 javascript function reference scope

为什么这段代码没有:

<a href="#">Sample link</a>
<script>
    setTimeout($('a').hide, 2000)
</script>

像这样工作:

<a href="#">Sample link</a>
<script>
    setTimeout(function(){ $('a').hide(); }, 2000)
</script>

最佳答案

重点是 this 绑定(bind)到 setTimeout 调用中的全局对象。由此可见,

setTimeout($('a').hide, 2000)

setTimeout(function(){ $('a').hide(); }, 2000)

将调用方法 $('a').hide,但 this 具有不同的值(window 在第一种情况下和$('a') 在第二个)。

Here根据您调用函数的方式,有关于 this 值的更多详细信息。

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

相关文章:

php - 函数内声明函数的作用域

.net - 从解决方案sln的所有csproj项目中阅读引用文献列表(以编程方式)

java - 更改增强 for 循环中迭代项的引用

javascript - HTML Javascript 幻灯片优化

javascript - 子数组的最大值

javascript - 给定一个函数 A,new A() 和 new A 之间有什么区别吗?

perl - 我如何优雅地从 Perl 中的数组引用创建散列?

javascript - jquery 有效电子邮件检查

javascript - 如何在使用 select2 时完全删除 select DOM?

javascript - 如何将对象属性作为参数传递? (JavaScript)