1
66
例1: 我想你错过了一些代码:
让我们重写一下这段代码,了解发生了什么。
接下来,如何调用这个函数?
所以在复杂函数中 $ 指 某物 . 同意吗? 如果你写
然后在函数内部, $ 指的是 JQuery 对象。因此,复杂函数内部的所有内容都可以像普通jquery用户那样使用“$”。 回到原来的代码,如果我们决定不命名这个函数,即使其匿名,那么您可以将代码可视化为,
您正在创建一个匿名函数,使用一个名为$的参数。 立即调用这个匿名函数,并将其传递给jquery对象。 这样,您就不会修改全局$对象,但是匿名函数中的所有代码的工作方式就像$总是可用的一样。很酷,不是吗?:) 例2:
与示例1类似,我没有看到这种类型的编码。(我甚至不确定这是否可行) 无论如何,在传递给jquery的匿名函数内部,您可以本地化$的使用,而不影响其他代码。 是的,他们可以在任何地方简单地使用jquery对象,但这将非常冗长,不是吗? 例3:
上面一行定义了一个空对象,并将其赋给变量$。 这和做一样,
这类似于如何使用两种不同的语法定义数组。
一点历史 记住,'$没有什么内在的特殊性。它是一个变量名,和其他变量名一样。在早期,人们使用document.getElementByID编写代码。因为javascript区分大小写,所以在编写document.getElementByID时出错是正常的。我应该大写“B”或“by”吗?我应该用身份证的大写字母“I”吗?你明白了。因为函数是JavaScript中的头等公民,所以您可以一直这样做 var$=document.getElementByID;//从document.getElementByID释放! 当原型库到达时,他们将获得DOM元素的函数命名为“$”。几乎所有的JavaScript库都复制了这个想法。原型还引入了$$函数来使用CSS选择器选择元素。 jquery也调整了$function,但是扩展了它,使它接受所有类型的“选择器”,以获得您想要的元素。现在,如果您已经在项目中使用了原型并希望包含jquery,那么您将遇到问题,因为“$”可以引用原型的实现,也可以引用jquery的实现。这就是为什么jquery可以选择noconflict,这样您就可以在项目中包含jquery,该项目使用原型并缓慢地迁移代码。我认为这是约翰的一个绝妙之举!:) |
2
4
一在这段代码的末尾是否缺少一些代码?通常惯例是这样做:
注意,在底部,jquery作为参数传递给函数表达式,因此$等于jquery,但仅在该函数表达式中。 二他们本可以使用jquery,但可能依赖于使用$的复制/粘贴代码。 三我可能会将它们重构为使用类似于1中提到的约定。我不知道他们为什么把美元设定为一个物体,但它有一股难闻的气味。 |
3
0
这个代码有一股臭味。他们使用的是另一个javascript库吗?
|
4
0
我想你见过这个 Using jQuery with other JS libraries ?我认为该页面回答了您的问题(请参阅页面底部的JQuery参考魔法-快捷方式部分)。 总结:
在您发布的代码中,不同的冲突避免机制的用法有点不一致,因此如果您能够重构,那么您可能需要重构这些机制。 |
Newbie_Coder · 如何使用Jquery无画布裁剪框架 1 年前 |
NovoMannen · 导航中的下拉菜单在内容后面重叠 1 年前 |
Community wiki · 无法从jquery文档调用函数 1 年前 |