gpt4 book ai didi

javascript - 我可以优化这些功能吗?

转载 作者:行者123 更新时间:2023-12-02 20:13:53 24 4
gpt4 key购买 nike

下面列出了 3 个函数(它们已最小化,因此可能难以阅读) - i0、t0 和 is。

is() 和 t0() 都使用这一行从 DOM 中提取数据

  var c=document.forms[a].elements;

在 i0() 中从 DOM 中提取数据,然后将其传递给 is() 和 t0() 会更好吗?

这样我只会从 DOM 中提取数据一次,但随后我需要一个额外的变量来将其存储在传递给两个函数的过程中。

i0():

function i0()
{
if(t0())
{
var a=is('f0');
s0('bi0.php',a,s2);
}
}

t0:

function t0()
{
var a=document.forms['f0'].elements;
a1="Please enter your credentials";
a2="That email is not registered";
a3="Incorrect credentials - Reset your password?";
if(c0(a,a1,'fb1')&&c2(a[1],a2,'fb1')&&c3(a[2],a3,'fb1'))
{
return 1;
}
else
{
return 0;
}
}

是():

function is(a)
{
var b='';
var c=document.forms[a].elements;
for(i=0;i<c.length;i++)
{
if(c[i].name)
{
if(c[i].type=='checkbox'&&c[i].checked==false)
{
b+=c[i].name+"=NULL&";
}
else
{
b+=c[i].name+"="+c[i].value+"&";
}
}
}
b=b.slice(0,-1);
return b;
}

最佳答案

function i0(a){
t0() && (a=is('f0'), s0('bi0.php', a, s2)); // just so I can use the comma like this
}

// or

function i0(){
t0() && s0('bio.php', is('f0'), s2);
}

function t0(){
var a = document.forms['f0'].elements,
a1 = "Please enter your credentials",
a2 = "That email is not registered",
a3 = "Incorrect credentials - Reset your password?";

return +( c0(a,a1,'fb1') && c2(a[1],a2,'fb1') && c3(a[2],a3,'fb1') );
}

function is(a){
var b = '',
c = document.forms[a].elements;

for( var i=0, l=c.length; i<l; i++ ){
c[i].name
? c[i].type == 'checkbox' && !c[i].checked && b += c[i].name + '=NULL&'
: b += c[i].name + '=' + c[i].value + '&';
}
return ( b = b.slice(0, -1) );
}
<小时/>

为了回答您的实际问题,是的,在 document.forms['f0'].elements 上进行一次选择将使事情稍微在某些浏览器中速度更快,但这是一种微优化,我怀疑由于哈希查找,它只会在旧浏览器(IE6)中更快。

关于javascript - 我可以优化这些功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com