美文网首页
JS对象(二)

JS对象(二)

作者: 八匹马_BPM | 来源:发表于2020-04-18 21:46 被阅读0次

    BOM对象

    browser object model: 浏览器对象模型

    有哪些对象?

    navigator: 获取客户机(浏览器)的信息

    screen: 获取屏幕的信息

    location: 请求url地址

    history: 请求的url历史记录,类似a.html跳转b.html,b.html跳转c.html.    history.back()到访问的上一个页面   history.forward()到访问的下一个页面.   history.go(-1)到上一个页面. history.go(1)到下一个页面 

    window(重点掌握)表示一个窗口对象,所有的bom对象都是在window对象里面操作的

    alert弹出一个窗口

    confirm确认窗口

    prompt输入窗口,第一个参数显示的内容,第二个参数输入框的值

    open打开一个新的窗口

    close关闭窗口

    做定时器

    setInterval();按照指定的毫秒数执行任务 参数一js代码 参数二毫秒数

    setTimeout();在指定的毫秒数之后执行  参数一js代码 参数二毫秒数

    clearInterval();清除掉setInterval()设置的定时器

    clearTimeout();清除掉setTimeout()设置的定时器

    <script>

    var flag = window.confirm("是否删除?");

        if(flag == true) {

        alert("删除成功");

        } else {

        alert("删除失败");

        }

    </script>

    <script>

    window.prompt("please input:","1");

    </script>

    <input type="button" value="打开新窗口" onclick="open1();"/>

    <script>

    function open1() {

        window.open("https://www.baidu.com","","width=200,height=100");

        }

    </script>

    <script>

    setInterval("alert('1')",3000); //每3秒弹出一次alert窗口

    </script>

    <script>

    setTimeout("alert('abc')",3000); //3秒之后执行js代码,只执行一次

    </script>

    DOM对象

    document object model: 文档对象模型

    超文本,html, xml都属于文档对象

    dom解析html的过程入下图:

    DOM解析html和xml的过程

    document对象表示整个文档,每个载入浏览器的html都会成为document对象

    document对象常用方法: 

    write()向页面输出文字和html代码

    <script>

    var str = "abc";

        document.write(str);

        document.write("<hr/>");

    </script>

    getElementById()根据标签id得到标签

    <input type="text" id="btn" value="aaa"/>

    <br/>

    <script>

    var input1 = document.getElementById("btn");

        input1.value = "bbb";

    </script>

    getElementsByName()通过标签的name属性值来得到标签,返回的是一个集合(或者理解成数组)

    <input type="text" value="111" name="aaa"/><br/>

    <input type="text" value="222" name="aaa"/><br/>

    <input type="text" value="333" name="aaa"/><br/>

    <input type="text" value="444" name="aaa"/><br/>

    <script>

    var inputs = document.getElementsByName("aaa");

        for(var i=0;i<inputs.length;i++) {

        var input1 = inputs[i];

            alert(input1.value);

        }

    </script>

    getElementsByTagName()通过标签名称得到标签,返回一个集合(或者理解成数组),传递的参数是标签的名称

    <input type="text" value="111" name="aaa"/><br/>

    <input type="text" value="222" name="aaa"/><br/>

    <input type="text" value="333" name="aaa"/><br/>

    <input type="text" value="444" name="aaa"/><br/>

    <script>

    var inputs = document.getElementsByTagName("input");

        for(var i=0;i<inputs.length;i++) {

        var input1 = inputs[i];

            alert(input1.value);

        }

    </script>

    对于getElementsByName()只能得到一个标签,可以这么写

    <input type="text" value="111" name="aaa"/>

    <script>

    var input2 = document.getElementsByName("aaa")[0];

        alert(input2.value);

    </script>

    Window弹窗案例

    编号: <input type="text" id="numid"/><br/>

    姓名: <input type="text" id="nameid"/><br/>

    <input type="button" value="选择" onclick="open1()"/>

    <script>

    function open1() {

        window.open("a.html","","width=200,height=100");

        }

    </script>

    a.html的h5代码如下

    <table border="1" bordercolor="blue">

    <tr>

        <td>操作</td>

            <td>编号</td>

            <td>姓名</td>

        </tr>

        <tr>

        <td><input type="button" value="选择" onclick="s1('100','东方不败')"/></td>

            <td>100</td>

            <td>东方不败</td>

        </tr>

        <tr>

        <td><input type="button" value="选择" onclick="s2('101','东方不败')"/></td>

            <td>101</td>

            <td>岳不群</td>

        </tr>

        <tr>

        <td><input type="button" value="选择" onclick="s3('102','东方不败')"/></td>

            <td>102</td>

            <td>林平之</td>

        </tr>

    </table>

    <script>

    function s1(num1,name1) {

        //需要把num1和name1赋值到window页面

            //夸页面的操作 opener:得到创建这个窗口的窗口 得到window页面

            var pwin = window.opener;

            pwin.document.getElementById("numid").value = num1;

            pwin.document.getElementById("nameid").value = name1;

            window.close();

        }

        function s2(num2,name2) {

        //需要把num1和name1赋值到window页面

            //夸页面的操作 opener:得到创建这个窗口的窗口 得到window页面

            var pwin = window.opener;

            pwin.document.getElementById("numid").value = num2;

            pwin.document.getElementById("nameid").value = name2;

            window.close();

        }

        function s3(num3,name3) {

        //需要把num1和name1赋值到window页面

            //夸页面的操作 opener:得到创建这个窗口的窗口 得到window页面

            var pwin = window.opener;

            pwin.document.getElementById("numid").value = num3;

            pwin.document.getElementById("nameid").value = name3;

            window.close();

        }

    </script>

    这样就实现了两个页面之间的传值

    做这个案例时候有一个问题

    由于我们现在访问的是本地文件, js安全, 谷歌浏览器安全性较高, 不允许访问本地文件

    但是在实际开发中, 没有这样的问题, 实际中不可能访问本地的文件

    相关文章

      网友评论

          本文标题:JS对象(二)

          本文链接:https://www.haomeiwen.com/subject/ortavhtx.html