当前位置:  开发笔记 > 编程语言 > 正文

jQuery:val()的速度足以反复使用,或者将值放在变量中更好

如何解决《jQuery:val()的速度足以反复使用,或者将值放在变量中更好》经验,为你挑选了1个好方法。

如果您正在执行以下操作:

var i = $('input[@name=some_field]');
if (i.val() != '' && !(i.val() >=1 && i.val() <= 36) || i.val() == 'OT')) {
     i.focus();
}

i.val()速度不够快,多次使用它,或者你应该做的:

var value = i.val();

首先在if语句中使用value,如:

var i = $('input[@name=some_field]');
var value = i.val();
if (value != '' && !(value >=1 && value <= 36) || value == 'OT')) {
     i.focus();
}

...?



1> Michael Bray..:

这不一定是jQuery问题,但它适用于大多数编程语言.事实上,这个问题还有很多,而不仅仅是性能问题.

要记住的一件事是,如果存储该值,则在执行后续代码期间不会发生更改.大多数时候,这是你期望和想要的.但是在某些情况下,对val()的调用也会返回一个不同的值,特别是如果你循环并做一些需要花费很多时间的事情.

在您的特定示例中,这种情况发生的可能性非常低,因为它只有少数几个调用而不是循环结构.鉴于只有几个电话,性能可能不会成为这里的主要问题.但是关键点的理论仍然存在 - 如果你想保证价值不会改变,就把它放在一个变量中.既然它也为您提供了最佳的性能考虑因素,我认为这在大多数情况下都是最佳实践.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有