将旧的JavaScript代码转换成jQuery的工具

5

我知道互联网上有很多工具可以让我们的生活更轻松,尤其是一些功能强大的开发工具。

请问你是否知道有没有一种能够将旧的JavaScript代码转换成jQuery的工具?

这样的工具可以帮助我们完成这项任务吗?因为我需要将成千上万行的代码转换成jQuery格式,我觉得这可能需要15年时间... :)

谢谢!


我不确定我完全明白你想要做什么。JQuery是Javascript的扩展,它允许您通过一个很好的API来完成Javascript已经实现的所有操作。如果Javascript已经可以正常工作,为什么要转换成jQuery呢? - Jon Taylor
@JonTaylor jQuery是跨浏览器兼容的! - Praveen Kumar Purushothaman
是的,我想要一个跨浏览器的JavaScript。我的当前代码已经有10年了... - Clément Andraud
1
@Praveen Kumar 我理解使用JQuery的优点,但人们经常认为使用它可以做到Javascript不允许的事情。这是一个错误的假设。我可以用纯Javascript创建跨浏览器的网站,是的,这需要更多的工作,但JQuery并不是创建跨浏览器网站的必要条件。他应该做的是找出从跨浏览器角度来看不起作用的部分,并修复这些问题。 - Jon Taylor
同意!+1。我明白了。其他人呢? :) 简单!而且,人们想要快速完成任务,不想费力气! - Praveen Kumar Purushothaman
显示剩余2条评论
2个回答

6
没有这样的工具。如果存在这样的工具,那么它生成的代码将不会是任何人想要使用的东西。 开始使用jQuery的最好方法就是为新的项目使用jQuery,如果有时间,慢慢地手动迁移旧的项目,最好是那些已经损坏或需要修改的项目。

5
这个问题并没有意义。jQuery不是一种你可以翻译的语言,而是一个库,如果需要的话,可以在JavaScript代码中使用它。没有什么是只有使用jQuery才能实现的。
你可能想要的是一种工具,帮助你重构JavaScript代码,用等效的jQuery方法替换特定的模式。然而这样做会使代码变得混乱。
例如,以下是jQuery的等效方法:
var x = document.getElementById('foo');

is:

var x = $('#foo');

但现在x是一个jQuery对象,而不是DOM对象,因此使用它的代码将会出错。
你可以这样做:
var x = $('#foo')[0];

这段代码会返回一个DOM对象,但这样是浪费jQuery库的。

一种解决方法是使用以下代码替换:

var $x = $('#foo');
var x = $x[0];

那就坚持使用约定,即$varvar的jQuery包装版本。随着重构的进行,您可以使用告诉您“x”未使用的工具(如jsLint)来知道可以安全地删除它。

各种IDE都有一些用于重构Javascript的工具。参见此问题以了解一些:如何重构JavaScript、HTML、CSS等?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接