我使用JQuery在JavaScript中编码。它简单,编码更少,更易读。 当我们将JQuery与纯JavaScript进行比较时,JQuery比纯JS慢约80%。
因此,JQuery(或其他JS库)对于开发人员来说是一件非常好的事情,但最终对用户来说是一件坏事:加载速度慢,运行速度慢。
JavaScript正在客户端运行。
所以,在我看来,如果我想用框架轻松编码,那就是我的事。
开发人员的问题和客户不必看到差异。
我想知道是否可以在JQuery中编码,并在纯JavaScript上编译它(本地)。
我的意思是像lesscss。
这个JQuery代码写得更快但比纯JS慢80%:performance report
例如,JQuery代码:
$('#mydiv').css('backgroundColor', 'red');
$('#mydiv').hide();
$('#mydiv').html('hello');
$('#content .col').each(function () {
$(this).html('ok')
});
将编译为纯JS:
document.getElementById('mydiv').style.backgroundColor = 'red';
document.getElementById('mydiv').style.display = 'none';
document.getElementById('mydiv').innerHTML = 'hello';
var query = document.querySelectorAll('#content .col');
for (var i = 0; i < query.length; i++) {
query[i].innerHTML = 'ok';
}
这个prototype.jsdéclaration写得更快但比纯JS慢98%:performance report
例如prototype.js代码:
var Animal = Class.create({
initialize: function(name, sound) {
this.name = name;
this.sound = sound;
},
speak: function() {
alert(this.name + " says: " + this.sound + "!");
}
});
var cat = new Animal('Kitty', 'Meow');
cat.speak();
将编译为纯JS:
function Animal(name, sound) {
this.name = name;
this.sound = sound;
}
Animal.prototype.speak = function() {
result = (this.name + " says: " + this.sound + "!");
}
var cat = new Animal('Kitty', 'Meow');
cat.speak();
最后,问题是要有快速编码的好工具,而不会对用户造成影响。
答案 0 :(得分:1)
我对此没有任何个人经验,但Google Closure Compiler可能是您最好的选择。
https://developers.google.com/closure/compiler/?csw=1
“它解析你的JavaScript,分析它,删除死代码并重写并最小化剩下的内容。”
这应该会使你的代码更有效率,虽然我不确定它在专门优化jQuery方面有多么有效。您不太可能真正获得完全“本机”JavaScript。