如何写好JS的三大原则

简介: 如何写好JS的三大原则

如何写好JS的三大原则

  • 各司其职:让HTML,CSS和JavaScript职能分离
  • 组件封装:好的UI组件具备正确性,扩展性,复用性
  • 过程抽象:应用函数式思想

二、详细知识点介绍:

封装

一般在进行团队开发的时候,会有很多人对代码和需求进行开发,这样的话就很容易导致代码出现不可控的问题,所以我们需要对方法进行封装

封装的好处:

  • 随时调用
  • 代码量减少,复用性提高
  • 易于维护和修改
// 利用对象封装自己的数学对象 里面有PI  最大值和最小值
        var myMath = {
            PI:3.141592653,
            max:function(){
                var max = arguments[0];
                for(var i =1;i<arguments.length;i++){
                    if(arguments[i] > max){
                        max = arguments[i];
                    }
                }
                return max;
            },
            min:function(){
                var min = arguments[0];
                for(var i =1;i<arguments.length;i++){
                    if(arguments[i] < min){
                        min = arguments[i];
                    }
                }
                return min;
            },
        }
复制代码

Dom

事件的三要素:

  1. 事件源:需要触发的对象
  2. 事件类型:如何触发,是什么事件,比如鼠标点击(onclick)还是鼠标经过,还是键盘按下
  3. 事件处理程序:通过一个函数赋值的方式完成

执行事件的步骤:

  • 获取事件源
  • 绑定事件 注册事件
<div>123</div>
    <script>
        //点击div 控制台输入 我被选中了
        // 1.获取事件源
        var div = document.querySelector('div');
        // 2.绑定事件 注册事件
        div.onclick = function(){
            console.log("我被选中了");
        }
    </script>
复制代码

高阶函数

  • 以函数作为参数
  • 以函数作为返回值
  • 常用于作为函数的装饰器



目录
相关文章
|
数据采集 数据可视化 IDE
用Python获得电影数据并可视化分析
用Python获得电影数据并可视化分析
230 0
|
运维 网络协议 安全
HCIP-Datacom H12-821 题库 (12)
HCIP-Datacom H12-821 题库 (12)
127 2
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
随着物联网技术的发展,海量设备数据对数据库提出实时高效存储处理的新要求。PolarDB作为阿里云的高性能云数据库,展现了其在IoT数据存储领域的潜力。面对IoT数据的规模、实时性和多样性挑战,PolarDB凭借分布式架构,实现了高性能、高可靠性和高扩展性,支持动态扩展和冷热数据分层存储,满足IoT数据实时写入、查询及管理需求,展现出广阔的应用前景。
337 1
|
存储 算法 数据可视化
Python 金融编程第二版(GPT 重译)(一)(1)
Python 金融编程第二版(GPT 重译)(一)
238 1
|
XML 移动开发 Java
流量分析之shiro、behinder
流量分析涉及Shiro和Behinder,揭示了HTTP流量模式。Shiro的Cookie值经过AES和Base64双重加密,可使用特定工具(如BTEAM-SHIRODECRYPTER)解密。分析中提到了使用TOP100密钥进行解密,并展示了部分解密内容,其中包括命令执行,如`c: cmd.exe`。关注点在于通过筛查包含&quot;/admin/&quot;的HTTP请求,追踪可能的黑客攻击。解密内容显示攻击者尝试在`/docs/3.jsp`写入webshell。通过进一步的流量筛选和解密,例如使用工具DecodeSomeJSPWebshell
327 3
流量分析之shiro、behinder
|
SQL Cloud Native 关系型数据库
云原生数据仓库操作报错合集之遇到报错“DDL forbidden because backupTask is doing snapshot”如何处理
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【7月更文挑战第27天】在数据科学领域, Scikit-learn因高效易用成为首选工具。本文采用实战方式教授Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优。首先需安装Scikit-learn (`pip install scikit-learn`) 并加载数据集(如Iris)。
188 0
|
前端开发 Java 开发者
每天一个摆脱if-else工程师的技巧,优雅的参数校验
在日常的开发工作中,为了程序的健壮性,大部分方法都需要进行入参数据校验。本文围绕作者如何优雅的进行参数校验展开讨论。
122611 9
|
存储 安全
【.NET Core】Lazy<T> 实现延迟加载详解
【.NET Core】Lazy<T> 实现延迟加载详解
260 0
|
SQL 关系型数据库 MySQL
操作delete或者update语句,加个limit或者循环分批次删除
操作delete或者update语句,加个limit或者循环分批次删除