• API


    第四天笔记 API接口

    BOM

    brower object model的缩写 浏览器对象模型

    主要是用来和浏览器交互的对象

    BOM主要是和浏览器窗口进行交互,所以BOM当中的核心对象——window对象。
    Tip:只要宿主环境是浏览器,那么最高等级的对象,就是window。
    js组成:
    ECMA语法准则(ECMA)BOM(网景领航者浏览器的一部分) DOM(W3C)

    window 对象

    宿主环境为浏览器时,所有的对象其实都是延伸自window对象。
    由于window对象处于js对象的最顶层,所以说很多时候我们在使用window对象方法的时候可以减肥window省略。
    在全局的情况下,任何一个全局函数或者全局的变量都可以说成是window的方法和属性、
    

    介绍
    window对象是BOM当中的核心对象。所有的对象都是通过它延申而出,也可以说其他的对象都是window对象的子对象
    由于window对象处于对象的最顶层,所以再调用的过程中可以选择不去知名window对象

        document.write('hello,world');
        alert(123)
        //也可以写成
        window.document.write('hello,world');
        window.alert(123);
    

    也可说,任何一个全局函数或者变量都是window的属性。

    var a = 10;
    alert(window.a);
    

    属于window的子对象
    document 对象 frames 对象 history 对象 location 对象 navigator 对象 screen 对象

    window对象当中的常用方法

    窗口控制函数
    moveBy()

    <input type="button"value="点击移动"onclick="window.moveBy(0,-5)">
    

    Tip:ie有效果
    moveTo()

    <input type="button"value="点击移动"onclick="window.moveTo(0,-5)">
    

    Tip:ie有效果
    resiezeBy()

    <input type="button"value="点击移动"onclick="window.resizeBy(50,50)">
    

    Tip:ie有效果
    resizeTo()

    <input type="button"value="点击移动"onclick="window.resizeTo(50,50)">
    

    Tip:ie有效果
    scrollTo()
    在窗口中如果有滚动条,将横向滚动条移动到相对于窗体宽度为x个像素的位置,将纵向滚动条移动到相对于窗体高度为y个像素的位置

    <input type="button"value="点击移动"onclick="window.scrollTo(50,50)"><div style=" 1000px;height: 1000px;"></div>
    

    Tip:谷歌和IE都可以执行。
    scrollBy()
    如果有滚动条,将横向滚动条移动到相对于当前横向滚动条的x个像素的位置(就是向左移动x像素),将纵向滚动条移动到相对于当前纵向滚动条高度为y个像素的位置(就是想下移动y像素)

    <input type="button"value="点击移动"onclick="window.scrollBy(1,1)">
    <div style=" 1000px;height: 1000px;"></div>
    

    focus()
    使窗体或者控件获得焦点。

    <input type="text"id="text">
    <input type="button"onclick="javascript:document.all.text.focus()"value="click">
    

    blur()
    是控件失去焦点。

    <input type = "text" id = "text" onclick = "blur()">
    

    open()
    打开一个网页

    window.open('http://www.baidu.com');
    

    window对象其他常用方法

    alert()显示带有一段消息和一个确认按钮的警告框。
    confirm()显示带有一段消息以及确认按钮和取消按钮的对话框。
    prompt()显示可提示用户输入的对话框。
    setinterval()按制定的周期(以毫秒计)来调用函数或计算表达式。
    setTimeout()在指定的毫秒数后调用函数或计算表达式。
    clearInterval()取消由setinterval()设置的timeout。
    clearTimeout()取消由setTimeout()方法设置的timeout。
    

    window对象常用属性

    innerHeight 返回窗口的文档显示区的高度。
    IE9+
    innerWidth 返回窗口的文档显示区的宽度。
    IE9+
    outerHeight 返回窗口的外部高度。
    IE9+
    overWidth 返回窗口的外部宽度。
    IE9+
    

    history 对象

    history.go()前进或后退
    history.back()后退一页
    history.formard() 前进一步
    

    location 对象

    当前对象主要用于获取或者设置窗口的url,并且可以用于解析url

    JavaScript hash 属性--返回URl中#符号后面的内容
    JavaScript host 属性--返回域名
    JavaScript hostname 属性--返回主域名
    JavaScript href 属性--返回当前文档的完整URl或设置当前文档的URl
    JavaScript pathname 属性--返回URl中域名后的部分
    JavaScript port 属性--返回URl中的端口
    JavaScript protocol 属性--返回URl中的协议
    JavaScript search 属性--返回URl中的查询字符串
    JavaScript assign() 函数--设置当前文档的URl
    JavaScript replace() 函数--设置当前文档的URl,并在history对象的地址列表中删除这个URl
    JavaScript reload() 函数--重新载入当前文档(从server服务器端)
    JavaScript toString() 函数--返回location对象href属性当前的值
    

    http://www.baidu.com/index.html?wd=shanghai&name=waxt多个属性参数用&拼接

    当前对象主要用于查看浏览器与操作系统信息。
    常用属性:
    appCodeName浏览器相关内容用字符串表示
    appName官方浏览器的名字的字串符表示
    appVersion浏览器信息版本
    cookieEnabled检查cookie功能是否启用,如果启用true
    platform显示的是浏览器所在的系统平台信息
    plugins安装浏览器当中的插件数组
    userAgent(使用频率高)用户代理头
    比较常用userAgent、cookieEnabled
    navigator中最重要的是userAgent属性,返回包含浏览器版本等信息的字符串,其次cookieEnabled也很重要,使用它可以判断用户浏览器是否开启cookie。

    screen 对象

    用于获取屏幕信息
    width 屏幕分辨率的宽度
    height 屏幕分辨率的高度

    availWidth 窗口可以使用的屏幕宽度
    availHeight 窗口可以使用的屏幕高度
    

    常用属性:

        JavaScript availHeight属性--窗口可以使用的屏幕高度,单位像素
        JavaScript availWidth属性--窗口可以使用的屏幕宽度,单位像素
        JavaScript colorDepth属性--用户浏览器表示的颜色位数,通常为32位(每像素的位数)
        JavaScript pixelDepth属性--用户浏览器表示的颜色位数,通常为32位(每像素的位数)(IE不支持此属性)
        JavaScript height属性--屏幕的高度,单位像素
        JavaScript width属性--屏幕的宽度,单位像素
    

    DOM 对象

    Document object Madel 文档对象模型
    主要用来操作html 和 xml 文档内容的基础API。

    json(所有的json对象都是字符串)
        {
            "status":"ok",
            "message":"登陆成功"
        }
    

    文本对象模型,是w3c推荐的处理扩展语言的标准编程接口

    DOM 分级:

    1级 DOM
    1998年10月份提出 , 1级DOM有两部分组成,DOM核心(操作xml)、DOM HTML(操作html) 两部分
    2级 DOM
    增加了鼠标、用户界面、如何遍历元素、如何范围查找元素等以及随css操作的支持
    3级 DOM
    引入了一个新的模块:DOM的载入和保存

    DOM 树

    有不同的网页标签构成的网页整体称之为DOM树。
    

    节点(网页里面的一切内容)-----//标签属于节点,但节点不属于标签
    节点之间的关系:
    ---父子关系
    ---兄弟关系
    节点之间的分类:
    Document
    document文档
    (代表他的是“9”)
    DocumentType
    doctype html
    (10)
    Element
    element 元素 彻头彻尾的标签
    (1)
    Attribute
    attr 属性
    (2)
    Text
    text 文本内容
    (3)
    Comment
    comment 注释
    (8)
    DocumentFragment
    DocumentFragment
    (11)

    如何获取节点:

    通过id名找到元素节点:
    document.getElementByID('id');
    如何传入多个id值,一次性找到多个元素?

    通过指定标签名来获取节点

    document.getElementsByTagName()

    通过传入一个*,那么可以找到所有标签

    document.getElementsByTagName("*");
    

    通过类名获取元素

    document.getElementsByClassName('class值');
    

    通过name来获取元素

    document.getElementsByName("name值");通过标签的name属性来获取元素
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <div>
            <ul>
                <li>aaa</li>
                <li>aaa</li>
                <li>aaa</li>
                <li>aaa</li>
                <li>aaa</li>
                <li>aaa</li>
            </ul>
        </div>
    </body>
    <script>
        var divs= document.getElementsByTagName('div')[0];
        console.log(divs)
    </script>
    </html>
    

    通过css选择器来选择元素(不是实时的)

    document.querySelectorAll('#id名');
    document.querySelectorAll('.class名');
    例如:
        <div class="d1" id="box"></div>
        document.querySelectorAll('#box');
        querySelectorAll()非常看重执行时机,在执行之前的内容都可以获取,但是执行之后的内容将没办法获取。
        :link :visited也会失效,浏览器会禁止使用。
    通过节点之间的关系来访问元素
    
    子父级关系
        parentNode
    兄弟节点
        下一个兄弟节点
        nextSibling   ie 678支持的
        nextElementSibling
        上一个节点
        previousSibling  ie 678支持的
        previousElementSibling
    
        兼容写法:
        var a = info.nextElementSibling || info.nextSibling
    选取子节点
        firstChild 第一个子元素 ie 678认识
        firstElementChild 第一个子元素 其他浏览器认识
    
        lastChild 最后一的子元素 ie 678认识
        lastElementChild其他浏览器认识
    
        childNodes 选取全部的子元素,但不推荐使用
        children 选取全部子元素 更好用
            tip:会把注释也当节点
    

    节点的常规操作

    创建节点

    document.createElement()
    info.innerHTML
    

    插入节点

    appendChild()
        将节点插入到元素的最后面
    inserBefore(插入节点,参照节点)
        如果第二个参数为null,则默认把要插入的节点插入到容器的最后面
    
    

    删除

    removeChild()移除子节点
    

    克隆节点

    cloneNode()复制节点
    如果说在cloneNode()括号内传入一个true,则为深克隆,如果没有传入参数,则默认为flase即是浅克隆。
    

    DocumentFragment

    是一个特殊的节点,属于临时容器。
    document.createDocumentFragment()创建一个临时容器
    不是与任何节点的子节点,是一个独立的节点,如果查看parentNode,结果为Null1

  • 相关阅读:
    divide two numbers using + opertor
    广播
    如何计算传递进来的参数个数 ?
    如何在脚本中使用参数 ?
    shell脚本中“$?”标记的用途是什么?
    JAVA BigDecimal的相加
    【推荐】腾讯android镜像(做Android开发的得好好利用下这个网站,国内的大公司还是可以滴……)
    AndroidDevTools简介
    Android SDK代理服务器解决国内不能更新下载问题
    SugarCRM 插件介绍
  • 原文地址:https://www.cnblogs.com/xuangewudishuaiqi/p/11432362.html
Copyright © 2020-2023  润新知