首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将库JavaScript预编译成纯JavaScript?

问是否可以将库JavaScript预编译成纯JavaScript?
EN

Stack Overflow用户
提问于 2014-03-28 11:40:31
回答 1查看 607关注 0票数 0

我使用JQuery在JavaScript中编码。它简单,编码少,可读性强。当我们将JQuery与纯JavaScript进行比较时,JQuery比纯JS慢80%左右。

因此,JQuery (或其他JS库)对于开发人员来说是一件非常好的事情,但最终会成为用户的一件坏事:加载速度慢,运行速度慢。

JavaScript正在客户端运行。

因此,在我看来,如果我想用一个框架轻松地编码,这是我的事情。

这是开发人员的问题和客户端之间的区别。

我想知道是否可以用JQuery编写代码,并在纯JavaScript上(本地)编译它。

我是说一些类似的东西。

用Jquery访问DOM

这个JQuery代码编写起来更快,但比纯JS:执行情况报告慢80%。

例如,JQuery代码:

代码语言:javascript
复制
   $('#mydiv').css('backgroundColor', 'red');
   $('#mydiv').hide();
   $('#mydiv').html('hello');

   $('#content .col').each(function () {
       $(this).html('ok')
   });

将被编译为纯JS:

代码语言:javascript
复制
 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.js类声明

这种prototype.js的编写速度更快,但比纯的JS:执行情况报告慢98%。

例如,prototype.js代码:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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();

最后,这个问题即将有好的工具来快速编码,而不会对用户产生影响。

EN

回答 1

Stack Overflow用户

发布于 2014-03-28 11:50:47

我没有任何个人经验,但谷歌关闭编译器可能是你最好的选择。

https://developers.google.com/closure/compiler/?csw=1

“它解析你的JavaScript,分析它,删除死代码,重写和最小化剩下的东西。”

这将使您的代码更高效,尽管我不确定它在具体优化jQuery方面的效果如何。实际上,您不太可能获得完全的“本地”JavaScript。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22711846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档