zoukankan      html  css  js  c++  java
  • JavaScript实践心得

    1、传入参数时要考虑可不可以有默认的情况,比如传入节点默认为document、传入url默认为当前页面url。

    2、多个变量只用一个var语句声明;初始化对象时,使用对象字面量的形式。

    3、一旦需要更新DOM,不要在循环中将每个元素都插入到文档;通过document.createDocumentFragment()来构建文档片段,在循环外将这个列表添加到文档。

    4、将在一个函数中会用到多次的全局对象存储为局部变量。多次用到的对象属性,也应该将其存储为局部变量。

    5、避免全局变量和函数,可以创建一个包含它们的对象;避免覆盖全局属性和方法、更方便的检查代码的问题。使用命名空间的使用能确保代码之间的共存。

    6、避免与null进行比较,应该使用instanceof 或者 typeof 来更确切地检查类型。

    7、最小化访问HTMLCollection对象的次数,当要访问它们的属性或长度时,先定义一个变量存储它们,以下情况会放回HTMLCollection对象:

      A、进行对getElementByTagName()的调用;     B、获取元素的childNodes、attributes的属性

      C、访问了特殊集合、比如document.forms 、 document.images。

    8、当要多次用到一个JavaScript未定义的通用操作函数时,可以用已有方法有封装。比如addClass(element, value)、insertAfter(newElement, targetElement)等。

    9、document.documentElement.clientWidth(height) || document.body.clientWidth(height)浏览器视口宽度和高度

      clientWidth可见区域的宽度,不包括boder的宽度,如果区域内带有滚动条,还应该减去横向滚动条不可用的高度。

    10、div.offsetWidth(height)  div的总宽度和高度。 width + border + padding。

    11、div.removeAttribute('style')可以去除用div.style添加的样式。

    12、querySelect()、querySelectAll() 中的CSS选择器是独立于整个页面的!

  • 相关阅读:
    每日一个设计模式之策略模式
    Java发送get和post请求
    sql分组取最大值
    解析xml
    jsp:include
    schema的详解2
    文法和语言
    高级语言程序简介
    Dataframe根据某一列的值获取满足条件的行的其他列的值
    Dataframe数值转为二维列表
  • 原文地址:https://www.cnblogs.com/chenzechuang/p/6613861.html
Copyright © 2011-2022 走看看