• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

写好JS的原则|青训营

武飞扬头像
无为无为
帮助2

  1. 各司其职。让HTML、CSS和JavaScript职能分离
  2. 组件封装。好的UI组件具备正确性、扩展性和复用性
  3. 过程抽象。应用函数编程的思想

示例:要求实现一个方法,点击可进行夜间模式切换 第一种方式

const btn=document.getElementById('modelBtn')
btn.addEventListener('click',(event)=>{
    const body=document.body
    if(event.target.innerHTML=='light'){
        body.style.backgroundColor='black'
        body.style.color='white'
        event.target.innerHTML='night'
    }else{
        body.style.backgroundColor='white'
        body.style.color='black'
        event.target.innerHTML='light'
    }
})

此方法存在的问题:直接在代码中操作CSS,不便后来的人员对程序进行修改。 第二种方式

const btn=document.getElementById('modelBtn')
btn.addEventListener('click',(event)=>{
    const body=document.body
    if(body.className!=='night'){
        body.className='night'
    }else{
        body.className=''
    }
})

该方法直接避免了在JS中直接操作CSS,但是样式切换本质是CSS的工作,此时依然是在JS中完成对CSS的操作。 第三种方式:使用纯css特性,使用伪类来操作,例如:hover,:checked等

写好JS的结论:

  1. HTML、CSS、JS各司其职
  2. 应当避免不必要的由JS直接操作样式
  3. 可以使用class来表示状态
  4. 纯展示类交互应该尽量避免使用JS

那么,究竟如何才能做到分离呢? 首先需要了解CSS中一些特殊元素,比如伪类选择器,奇数选择器,算中状态等等,这些内容可以帮助我们更流畅地操作CSS,遇到这种问题,应该首先考虑是否能用CSS本身的内容解决,如果解决不了,再考虑是否能通过在JS中切换CSS中的class进行操作

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkhech
系列文章
更多 icon
同类精品
更多 icon
继续加载