Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript和jquery中哪个性能更快?_Javascript_Jquery - Fatal编程技术网

javascript和jquery中哪个性能更快?

javascript和jquery中哪个性能更快?,javascript,jquery,Javascript,Jquery,Javascript比jquery快10倍。但若我将javascript放在jquery代码中,会更快,还是jquery会更快 例如: $(selector).filter(function(){ return this.className == 'myclass'; }); 我认为在第一种方法中,javascript被转换为jquery,然后jquery被转换为javascript,在第二种方法中,jquery被转换为javascript,因此第二种方法的执行速度更快。我说得对吗?在

Javascript比jquery快10倍。但若我将javascript放在jquery代码中,会更快,还是jquery会更快

例如:

$(selector).filter(function(){
   return this.className == 'myclass';
});


我认为在第一种方法中,javascript被转换为jquery,然后jquery被转换为javascript,在第二种方法中,jquery被转换为javascript,因此第二种方法的执行速度更快。我说得对吗?

在我看来,第一个更快,因为您使用的是本机javascript this.className,您可以查看它

我做了一个测试来检查性能差异,你可以找到结果


感谢@RevanProdigalKnight添加了另一个性能测试用例。

JavaScript比jQuery更快,但您必须以优化的方式编写代码

Jquery是Javascript。减少模糊编码的javascript库, 收集常用的javascript函数,已证明有帮助 在高效和快速的编码

Javascript是源代码,是浏览器响应的实际脚本


你错了,它都是javascript,包括jQuery部分

问题是,几乎所有调用jQuery库的东西都(相对)比较慢

第一个代码更快,它只调用jQuery一次,并将字符串属性与“myclass”进行比较

第二段代码调用jQuery两次,调用jQuery.atter函数,并将该函数的返回值与“myclass”进行比较


无聊?做一些基准测试!:D

use-顺便说一句,第二个应该是
return$(this).attr('class')='myclass'$(选择器)。过滤器('.myclass')
,如果对象设置了多个类怎么办?您的JS比较是无效的,并且在'className='myclass otherclass'这一点上会失败。在bareback js版本上使用类列表功能实现奇偶校验。“总是”几乎总是错误的。如果您编写糟糕的x浏览器处理,并且jQuery有一个优化的调用,那么它可能会更快。怀疑一切,直到你适应现实生活的使用。例如,我看到许多拖放脚本在MouseMove上询问“我在IE中吗?”你忘记链接到你引用的源代码。谢谢@RevanProdigalKnight,你太好了。
$(selector).filter(function(){
   return $(this).attr('class') == 'myclass'; 
});