账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    原生js代码优化
    50
    0

    一个小计数的功能,但是input2层循环可能性能不太好,这块怎么优化呢?或者换种其他思路?大家可以讨论下呀

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            *{margin: 0;padding: 0;}
            
            .team-scores{
                display: flex;
                font-size: 80px;
            }
    
    
            .teams{
                font-size: 40px;
            }
    
    
            .team-name{
                width: 30px;
                height: 30px;
                /* vertical-align: 0px; */
            }
    
    
            .score-btns button{
                margin-top: 10px;
                padding: 4px 10px;
                border:none;
                outline: none;
                border-radius: 20px;
                background-color: pink;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <!-- 显示的分数 -->
        <div class="team-scores">
            <h2 class="999">0</h2>
            <span>-</span>
            <h2 class="888">0</h2>
        </div>
    
    
        <!-- 两个队伍的名称 -->
        <div class="teams">
            <input type="radio"   class="team-name" id="radio" checked><label>A队</label>
            <input type="radio"   class="team-name" id="radio"><label>B队</label>
        </div>
        <!-- 分数按钮 -->
        <div class="score-btns">
            <button>加1分</button>
            <button>加2分</button>
            <button>加3分</button>
        </div>
    </body>
    <script>
        
    let  team=[0,0];
    let typeChecked=1;
    let buts= getEleAll('button');
    let input =getEleAll('input');
    let h2 =getEleAll('h2');
    input.forEach((key,index)=>{
        key.onchange=function(){
            input.forEach((key,index)=>{
                key.checked=false;
            })
            this.checked=true;
            typeChecked=index+1;
        }
    })
    buts.forEach((key,index)=>{
        key.onclick=function(){
            h2[typeChecked-1].innerHTML=Number(h2[typeChecked-1].innerHTML) +  index+1;
        }  
    })
    function getEleAll(ele){
        return document.querySelectorAll(ele);
    }
    </script>
    </html>
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 伱婼吥離 普通会员 1楼

      原生JavaScript代码优化是指通过技术手段,尽可能地提高代码的执行效率和性能。以下是一些常见的原生JavaScript代码优化技巧:

      1. 使用const代替let:let和let在ES6中已经被废弃,使用const代替。const的作用域是常量,不能被重新赋值,且在声明后不能修改。

      2. 使用let和const代替for循环:for循环虽然在某些情况下可以避免使用,但在循环体内使用let和const可以提高性能。

      3. 避免全局变量:全局变量会阻止代码块之间的作用域链,从而降低代码的执行效率。可以将全局变量声明为局部变量,或者在代码块内部声明全局变量。

      4. 避免使用递归:递归是一种深度优先搜索,虽然在某些情况下可以使用,但在递归体内使用let和const可以提高性能。

      5. 避免使用eval函数:eval函数可以执行任意的JavaScript代码,虽然在某些情况下可以提高性能,但在eval函数内使用let和const可以提高性能。

      6. 使用数组的reduce方法:数组的reduce方法可以快速计算数组中的所有元素的和,比for循环要快得多。

      7. 使用Promise和async/await:Promise和async/await可以提供更强大的错误处理和异步编程支持,比传统的for循环和try/catch更有效。

      8. 使用内存分析工具:内存分析工具可以帮助你找到代码中的性能瓶颈,从而进行优化。

      9. 使用浏览器的开发者工具:浏览器的开发者工具可以帮助你找到代码中的性能瓶颈,从而进行优化。

      10. 使用模块化和懒加载:模块化和懒加载可以提高代码的执行效率,使代码更易于维护和测试。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部