在工作时,我经常使用相同的节点作为 jQuery 对象的选择器,例如 $('.often')
正如我所想,jQuery 每次都会为其创建一个新对象,但我也可以将已经创建的对象分配给变量: often=$('.often')
除了可能更好的可读性之外,使用相同的对象作为变量是否会提高脚本的性能?
最佳答案
在任何语言中,两次调用具有相同参数的函数都会产生代码味道。
函数的实现通常是函数调用者不关心的细节,但调用者通常可以安全地假设调用函数两次比将其返回值分配给局部变量更昂贵。
除非函数的行为因状态而异(例如,在多线程应用程序中),否则只需调用一次即可。
这可能更多的是风格问题而不是技术问题,但如果我看到这样的东西:
if (get_my_value("param") == 1) {
return "Got 1.";
}
if (get_my_value("param") == 2) {
return "Got 2.";
}
我会将其重写为:
var my_value = get_my_value("param");
if (my_value == 1) {
return "Got 1.";
}
if (my_value == 2) {
return "Got 2.";
}
我重写它的原因是:
- 如果
get_my_value
很昂贵,我就提高了性能。 - 通过减少代码重复,我提高了可维护性。
- 通过减少代码重复,我提高了可读性。
关于javascript - 使用变量而不是重新声明 jquery 对象在速度方面是否更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20525590/