首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有jQuery、jQuery ($)和jQuery的CoffeeScript

带有jQuery、jQuery ($)和jQuery的CoffeeScript
EN

Stack Overflow用户
提问于 2012-08-23 02:58:45
回答 3查看 2K关注 0票数 2

在带有jQuery的CoffeeScript中,以下语句有什么不同吗?

代码语言:javascript
运行
复制
jQuery ($) ->
jQuery ->
$ - >
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-23 03:03:48

第一个与其他两个不同,就像在普通的JavaScript中一样。在这里,您使用全局名称" jQuery“为"DOM ready”事件注册一个事件处理程序,同时确保快捷方式$链接到jQuery。另外两种样式不能做到这一点--因此,在事件处理程序的本地作用域中,$的值是外部的任何值。

票数 4
EN

Stack Overflow用户

发布于 2012-08-23 03:33:47

重要的是要知道,$(handler)$(document).ready(handler)是一样的,问题中的所有三个语句基本上都是为jQuery.ready函数设置一个处理程序。

这样,jQuery将向提供给ready函数的处理程序传递一个变量,该处理程序是jQuery对象。因此,在您的第一个示例中,您的处理程序只是利用这一点,并(重新)将$设置为与jQuery相同。您的处理程序不需要接受jQuery传递的变量,这就是为什么您的另外两个处理程序不接受任何参数的原因。

通常,只有在存在全局使用$的库(如jQuery )时,才需要执行此操作。

票数 1
EN

Stack Overflow用户

发布于 2012-08-23 04:16:33

默认情况下,jQuery会创建一个名为jQuery的全局对象和一个名为$的全局别名。这就是window.$ = window.jQuery。这就是为什么您可能会看到不同的文档引用了这两种方法。某些其他库也喜欢使用$作为它们的名称。这就是jQuery提供noConflict mode的原因,它允许您将$重置为以前的值。

所以给你一个简短的答案:你应该更喜欢 $ -> ,除非你正在使用 noConflict

下面是在给定一个函数作为参数时关于jQuery函数的官方文档,以供参考:http://api.jquery.com/jQuery/#jQuery3

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12079669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档