我已经看到很多现有JavaScript函数的jQuery实现,它们只是将JavaScript代码包装在jQuery包装器中,并且实际上并不依赖于任何jQuery的基础来进行操作。
使用Javascript作为jQuery插件有什么好处?
如果没有,那么使用jQuery插件会有速度损失,这个插件很容易在包装器之外实现吗?
非常感谢(只是想在这里学习一些东西)。
更新了示例:
http://plugins.jquery.com/project/base64
原来是
http://www.webtoolkit.info/javascript-base64.html
很多jQuery只是围绕现有JavaScript函数的巧妙包装器。 $('#some-element')
或许比打字更容易 document.getElementById('some-element')
但除此之外没什么不同。
(我夸张,但只是略微。)
jQuery的主要功能是能够将其各种组件组合在一起。如果我可以使用jQuery选择器选择元素,然后直接通过jQuery函数对这些元素执行某些操作,那么最好必须提取底层DOM元素并手动操作它们。
所以它真的取决于你所看到的功能。其中一些可能很好地添加没有价值,作者只是习惯于jQuery中的所有东西。 (我们肯定会在StackOverflow上看到这种现象 - 那些无法找到标准JavaScript函数的人只是因为它不在jQuery文档中)。在其他情况下,即使包装器在修改底层函数的行为方面做的很少,也可能存在一些隐藏的好处。
围绕jQuery和普遍信任也有很多动力。在您的代码库中包含任意javascript可能不像高级类型那样“可接受”,包括新的jQuery插件。
所以这可能是一个错误的认知,但通过成为一个jQuery插件,一个库通过与高质量的代码相关联而受益。
恕我直言,创建插件的唯一原因是对选择器执行一些功能,即一组选定的元素,例如
$('.myelements').someFunction();
如果您的插件最终看起来像这样(例如新发布的Microsoft Globalization插件)
$.doSomeStuff();
然后使用闭包无法获得很多好处。然而,许多开发人员都不了解javascript中的闭包和命名空间,并且通过遵循插件开发模板,他们可以在不完全理解模式的情况下获得好处。