因为 jQuery 是一种广泛使用且成熟的协作成果,所以我不禁要查看它的源代码,以获得编写更好的 Javascript 的指导。我一直在使用 jQuery 库和我的 PHP 应用程序,但是当我深入了解这个相当复杂的库时,我意识到我对 Javascript 仍然不了解。瞧,我有几个问题要问 SO 社区。首先,考虑以下代码......
$('#element').attr('alt', 'Ivan is SUPER hungry! lolz');
对比
$('#element').attr({'alt': 'Ivan is an ugly monster! omfgz'});
现在,这是说该attr()
方法被设计为接受一个属性名称、一个属性名称和一个值,或者一个对值映射?有人可以简要解释一下地图实际上是什么以及它与 Javascript 中的数组不同的重要方式吗?
继续前进,整个图书馆都沉浸在这项业务中……
(function(window, undefined) { /* jQuery */ })(window);
我知道包裹的括号会导致类似于 的行为body onLoad="function();"
,但是这种做法称为什么,它与使用onLoad
事件处理程序有什么不同吗?此外,我无法(window)
在最后做出正面或反面。这里的对象到底发生了window
什么?
我认为对象与 Javascript 中的函数没有什么不同是错误的吗?如果我错了,请纠正我$()
,但它是包罗万象的 jQuery 对象,但它看起来就像一个方法。这是另一个带有代码示例的快速问题...
$('#element').attr('alt', 'Adopt a Phantom Cougar from Your Local ASPCA');
...内部应该看起来像这样(也许我错了)...
function $(var element = null) {
if (element != null) {
function attr(var attribute = null, var value = null) {
/* stuff that does things */
}
}
}
这是在 Javascript 中定义对象及其子方法和属性的常规程序吗?比较 Javascript 和 PHP,您是否使用与从对象中检索方法.
相同的方式使用句点?->
对于这有点冗长,我深表歉意,但是对这些问题的回答将向我揭示关于 jQuery 和 Javascript 的大量信息。谢谢!