zoukankan      html  css  js  c++  java
  • 【记录】自学JavaScript第六周

    快要考试了,也没学什么了 ,这一次就分析一下DOM和BOM的区别。
    首先DOM:
    Document Object Model 文档对象模型 一个Window对象有一个document属性引用了Document对象 Document对象表示窗口内容,他是一个巨大的API中的核心对象,他代表操作文档的内容

    了解DOM我们需要了解:

    1 在文档中查询元素

    2 将文档作为节点树来遍历,找的节点的祖先、兄弟和后代

    3 查询和设置文档的属性

    4 查询、更改文档的内容

    5 创建、插入、删除节点来修改文档

    DOM对象模型是表示和操作HTML和XML文档内容的基本API.

    首先,查询元素,如果我们需要获取一个东西在不使用id,不使用jquery的情况下还是非常难受的,我们大概需要遍历每一个元素,再根据某些条件来获取我们所要的东西。

    其次,属性,HTML由一个标签和一组称为属性飞键值对组成,我们一般使用getAttribute与setAttribute来获取与设置属性,因为属性无法使用delete删除,所以还提供了has

    Attribute与removeAttribute来判断标签是否含有某属性以及去掉标签的某个属性。

    获取HTML内容:

    innerHTML获取元素内部所有文本和标签
    innerText获取元素内部文本
    outerHTML获取标签元素

    然后就是节点相关,元素等等...

    BOM:

    浏览器对象模型 Browser Object Model

    说白点就是window这个东东:表示浏览器的一个实例,是访问浏览器窗口的一个接口,也是ECMAScript规定的Global对象。

    意思是我们定义的所以所有的东西,都与window有关,他是客户端给javascript程序的全局对象。

    有一个计时器的例子

    javascript的计时器有setTimeout与setInterval两种,一个是在一定时间后执行,一个是重复执行。

    这两个东西大家应该都很熟悉了,但是在实际应用中,setTimeout却带给了我们不一样的东西,比如优化!

    setTimeout的优化点可以是以下地方:

    ① 鼠标移动标签上加载数据(发起http请求),但我们鼠标可能无意义的划过,所以延迟点加载若是无意义请求便取消

    ② 无论鼠标事件或者窗口改变事件,我们都可以使用这个家伙

    (function () {
        var ajax = $('#ajax');
        var TIMER = null;
        var TIMER_STEP = 500;
        ajax.mousemove(loadMenu);
        ajax.mouseout(function () {
            if (TIMER) clearTimeout(TIMER);
        });
        function loadMenu() {
            if (TIMER) clearTimeout(TIMER);
            TIMER = setTimeout(function () {
                //do someting
            }, TIMER_STEP);
        }
    })();

  • 相关阅读:
    十款最实用的Android UI设计工具
    tom大叔blog--------深入理解javascript系列-----------笔记
    右键
    指尖下的js —— 多触式web前端开发之三:处理复杂手势
    关于移动端点击后出现闪或者黑色背景
    修改wamp的WWW目录
    Unicode中文排序
    jquery 小记
    pageX,clientX,offsetX,layerX的区别
    为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?【转】
  • 原文地址:https://www.cnblogs.com/wanghuanl/p/9199513.html
Copyright © 2011-2022 走看看