JS对象(二)

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前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,807评论 0 8
  • 1.Window 对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 所有 JavaScrip...
    长绝师阅读 352评论 0 0
  • JavaScript对象本章目标(1) . 会使用getElementById( )方法访问DOM元素(2) ...
    拾起_518阅读 2,246评论 1 1
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,345评论 0 5
  • 在js中,window表示全局作用域,是一个很重要的对象,但是因为可以省略不写,例如alert('test')等同...
    非朽非木阅读 800评论 0 0