zoukankan      html  css  js  c++  java
  • 《javascript高级程序设计》 第24章 最佳实践 Best Practices

    24.1 可维护性 Maintainability
    24.1.1 什么是可维护的代码 What Is Maintainable Code?
    24.1.2 代码约定 Code Conventions 
    24.1.3 松散耦合 Loose Coupling
    24.1.4 编程实践 Programming Practices
    24.2 性能 Performance
    24.2.1 注意作用域 Be Scope-Aware
    24.2.2 选择正确方法 Choose the Right Approach
    24.2.3 最小化语句数 Minimize Statement Count
    24.2.4 优化DOM 交互 Optimize Dom Interactions
    24.3 部署 Deployment
    24.3.1 构建过程 Build Process
    24.3.2 验证 Validation
    24.3.3 压缩 Compression

     3. 解耦应用逻辑/事件处理程以下是要牢记的应用和业务逻辑之间松散耦合的几条原则:

     勿将event 对象传给其他方法;只传来自event 对象中所需的数据;
     任何可以在应用层面的动作都应该可以在不执行任何事件处理程序的情况下进行;
     任何事件处理程序都应该处理事件,然后将处理转交给应用逻辑。

    3.避免与null 进行比较
    如果看到了与null 比较的代码,尝试使用以下技术替换:
     如果值应为一个引用类型,使用instanceof 操作符检查其构造函数;  if (values instanceof Array)
     如果值应为一个基本类型,使用typeof 检查其类型;
     如果是希望对象包含某个特定的方法名,则使用typeof 操作符确保指定名字的方法存在于对
    象上。

    24.2.1 注意作用域
    1.避免全局查找
    var doc = document;
    var imgs = doc.getElementsByTagName("img");
    2. 避免with 语句

    24.2.2 选择正确方法
    1. 避免不必要的属性查找
    使用变量和数组要比访问对象上的属性更有效率,后者是一个O(n)操作。

    24.2.3 最小化语句数
    //用4 个语句创建和初始化数组——浪费
    var values = new Array();
    values[0] = 123;
    values[1] = 456;
    values[2] = 789;

    //只用一条语句创建和初始化数组
    var values = [123, 456, 789];

    24.2.4 优化DOM交互
    var list = document.getElementById("myList"),
    fragment = document.createDocumentFragment(),

    for (i=0; i < 10; i++) {
    item = document.createElement("li");
    fragment.appendChild(item);
    。。。
    2. 使用 innerHTML

    3. 使用事件代理
    任何可以冒泡的事件都不仅仅可以在事件目标上进行处理,目标的任何祖先节点上也能处理。使用这个知识,就可以将事件处理程序附加到更高层的地方负责多个目标的事件处理。

    4. 注意HTMLCollection
    避免在循环体内多次调用HTMLCollection。
    var images = document.getElementsByTagName("img"),
    image,
    i, len;
    for (i=0, len=images.length; i < len; i++){
    image = images[i];
    //处理
    }

    24.3.3 压缩
    1. 文件压缩
    2. HTTP 压缩

  • 相关阅读:
    android 14 进度条和拖动条
    android 13 5种click事件不同实现方式 比较
    android 12 click事件的不同实现方式
    android 11 模拟onclick 事件
    android 10 事件
    android 09
    android 08 AndroidManifest.xml
    android 07 22 23没看
    Linux常用命令last的使用方法详解
    Linux TOP命令 按内存占用排序和按CPU占用排序
  • 原文地址:https://www.cnblogs.com/della/p/3296444.html
Copyright © 2011-2022 走看看