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安全, 谷歌浏览器安全性较高, 不允许访问本地文件

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容

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