【JavaScript】DOM之BOM

BOM

1.BOM是什么

供应了自力页面内容,与浏览器相干的一系列对象,治理窗口之间通讯

2.Window对象

具有两重角色,对象等于许可JS接见浏览器窗口的一个对象,和ECMAScript范例中的Global全局对象,在浏览器运转JS逻辑时,在全局作用域定义的对象,变量和函数

<body>
<form action="#">
    <input type="text" id="username">
    <input type="submit">
</form>
<script>
    var form = document.forms[0];
    form.addEventListener('submit',function (event) {
        console.log('该表单已被提交');
    });
</script>
</body>

window对象的属性

<script>
    // BOM中其他对象是作为window对象的属性存在
    console.log(window.navigator);
    console.log(window.location);
    console.log(window.history);
    console.log(window.document);
    console.log(window);
    // window对象的self属性-示意window对象自身(是只读属性)
    console.log(window.self);// 照样window对象
    console.log(window.innerWidth, window.innerHeight);
    // window对象的innerWidth和innerHeight - 浏览器窗口的内部宽度和高度
</script>

window对象的要领

<style>
        #qh {
            width: 300px;
            height: 200px;
            border: 1px solid black;
            display: none;
        }
    </style>
</head>
<body>
<!-- 点击按钮时,翻开提示框 -->
<button id="btn">按钮</button>
<div id="qh"></div>

<script>
    // 提示框
    // window.alert('xxxx');
    // 肯定框
    // var flag = window.confirm('你肯定退出吗?');
    // alert(flag);
    // 输入框
    /*var result = window.prompt('请输入你的用户名:');
    alert(result);*/

    var btn = document.getElementById('btn');
    btn.addEventListener('click',function(){
        var dialog = document.getElementById('qh');
        dialog.style.display = 'block';
    });

    /*
        * window.setTimeout()和window.clearTimeout()要领
          * 该组要领示意耽误实行
        * window.setInterval()和window.clearInterval()要领
          * 该组要领示意轮回(周期)实行
     */

</script>

Navigator对象

<body>
<script>
    console.log('浏览器代码名: ' + navigator.appCodeName);
    console.log('浏览器称号: ' + navigator.appName);
    console.log('浏览器平台和版本信息: ' + navigator.appVersion);
    console.log('运转浏览器操作系统平台: ' + navigator.platform);

    console.log(navigator.userAgent);

</script>
</body>

定时器

延时实行

setlnterval()要领设置个定时器,将该定时器只实行一次函数

`<script>
    console.log('this is message...');

    /*
        setTimeout(function, delay)要领
        * 设置个定时器
        * 参数
          function-示意耽误实行的代码逻辑
          delay-示意耽误实行时候,单元为毫秒
        * 返回值-示意当时器的标识
        * 注重-打乱代码默许的递次实行流程
     */
    var t = setTimeout(function(){
        console.log('you my timeout...');
    },10000);

    // clearTimeout(t);

    console.log('you my message too...');

</script>`

周期实行

以setlnterval()要领,反复挪用个函数或实行段代码

<script>
    console.log('you my message...');

    /*
        setInterval(function, delay)要领
        * 设置个周期实行的定时器
        *
          function - 示意耽误实行的代码逻辑
          delay - 示意耽误实行的时候,单元为毫秒
        * 返回值 - 示意当前定时器的标识
     */
    /*setInterval(function(){
        console.log('you my interval...');
    },1000);*/


    /*function fun(){
        console.log('you my interval...');
        setTimeout(fun,1000);
    }
    fun();*/
    (function fun(){
        console.log('you my interval...');
        setTimeout(fun,1000);
        // setTimeout(arguments.callee,1000);
    })();

    console.log('this is message too...');

</script>
    原文作者:佐珥玎
    原文地址: https://segmentfault.com/a/1190000016271230
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞