八、BOM - 章节课后练习题及答案

第一章链接:初识JavaScript - 章节课后练习题及答案

第二章链接:JavaScript 基础(上) - 章节课后练习题及答案 

第三章链接:JavaScript 基础(下) - 章节课后练习题及答案

第四章链接:JavaScript 函数 - 章节课后练习题及答案

第五章链接:JavaScript 对象 - 章节课后练习题及答案

第六章链接:DOM(上) - 章节课后练习题及答案

第七章链接:DOM(下) - 章节课后练习题及答案

注:使用的是人民邮电出版社出版的《JavaScript+jQuery 交互式 Web 前端开发》书籍。


 一、填空题

        1、 在BOM中,所有对象的父对象是______。

        2、页面中所有内容加载完之后触发的事件是______。

        3、history对象的______属性可获取历史列表中的URL数量。

       4、 ______事件是在DOM结构加载完触发的 。

二、判断题

        1、全局变量可以通过window对象进行访问。(  )

        2、修改location对象的href属性可获取或设置URL。(  )

        3、使用clearTimeout()和clearInterval()可以清除定时器。(  )

        4、使用history对象的 go()方法可以实现页面前进或后退。(  )

三、选择题

        1、下列选项中,不是window对象的属性的是(  )。

                A. pageX        B. location        C. history        D. navigator

        2、下面关于BOM对象的描述,错误的是(  )。

                A. go(-1)与back()皆表示向历史列表后退一步

               B.通过confirm()实现的“确认”对话框,单击“确认”时返回true

               C. go(0)表示刷新当前网页

                D.以上选项都不正确

        3、下列描述错误的是(  )。

                A. onload和DOMContentLoaded都是页面加载事件,没有区别

                B. DOMContentLoaded有浏览器兼容问题

                C. 定义在全局作用域中的变量是window对象的属性

                D. window对象的方法在调用时可以省略不写window

四、编程题

        编写程序,实现电子时钟自动走动的效果,并提供一个按钮控制电子时钟是否停止走动。


参考答案:

一、填空题

        1、window              

        2、window.onload

        3、length

        4、document.DOMContentLoaded

二、判断题

        1、对        2、对      3、对        4、对

三、选择题

        1、A        2、D        3、A 

四、编程题

        编写功能代码,具体代码如下:

<a id = "time"></a>
<button onclick = "clearInterval(time1)">停止</button>
<script type="text/javascript">
  var time1 = window.setInterval('timeShow()', 1000);
  timeShow()
  function timeShow() {
    var today = new Date(); //获得系统当前时间
    var intYears = today.getFullYear(); //获得年
    intMonths = today.getMonth() + 1; //获得月份+1
    intDates = today.getDate(); //获得天数
    intHours = today.getHours(); //获得小时
    intMinutes = today.getMinutes(); //获得分钟
    intSeconds = today.getSeconds(); //获得秒
    intWeeks = today.getDay(); //获得星期
    // 修改格式为 *年*月*日
    years = intYears + '年';
    // 如果月份小于10,在月份前面加0
    intMonths < 10 ? months = '0' + intMonths + '月' : months = intMonths + '月';
    // 如果日份小于10,在日前面加0
    intDates < 10 ? dates = '0' + intDates + '日' : dates = intDates + '日';
    // 修改星期格式
    var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
    weeks = week[intWeeks] + ' ';
    // 修改小时格式
    if (intHours == 0) {
      hours = '00:';
    } else if (intHours < 10) {
      hours = '0' + intHours + ':';
    } else {
      hours = intHours + ":";
    }
    // 修改分钟格式
    if (intMinutes == 0) {
      minutes = '00';
    } else if (intMinutes < 10) {
      minutes = '0' + intMinutes;
    } else {
      minutes = intMinutes+ ":";
    }
    //  修改秒数格式
    if (intSeconds == 0) {
      seconds = '00';
    } else if (intSeconds < 10) {
      seconds = '0' + intSeconds;
    } else {
      seconds = intSeconds;
    }
    var timeString = years + months + dates + weeks + hours + minutes+seconds
    document.getElementById('time').innerHTML = timeString;
  }
  </script>

   

### JavaScript 前端开发案例教程第六章课后答案 #### BOM (Browser Object Model) 根据《JavaScript前端开发案例教程》的内容,以下是第六章关于BOM部分的课后习题及其解答。 --- #### 一、填空题 1. **`window` 或 `window对象` 是浏览器中的全局对象,它代表了浏览器窗口或框架。** 这意味着所有的全局变量和函数都作为 `window` 对象的属性存在[^4]。 2. **定时器方法 `setTimeout()` 用于在指定的时间间隔之后执行一次特定的代码块。** 此外还有 `setInterval()` 方法可以用来重复执行某段代码直到被清除为止。 3. **字符串长度可以通过访问其 `length` 属性来获取。** 例如:对于字符串 `"hello"`,它的长度为 5,即 `"hello".length === 5`。 --- #### 二、编程题 ##### 示例题目: 编写一段脚本,在页面加载完成后弹出提示框显示“欢迎学习JavaScript”。 ```javascript // 使用 window.onload 来监听页面加载完成事件 window.onload = function () { alert("欢迎学习JavaScript"); }; ``` 上述代码通过设置 `window.onload` 的回调函数实现了当整个页面完全加载完毕后再触发操作的功能。 --- ##### 编写一个简单的计时器功能 需求描述:创建一个按钮点击后启动倒计时,每秒减少一秒并最终停止。 解决方案如下所示: ```javascript <button id="startTimer">开始倒计时</button> <p>剩余时间:<span id="timeLeft"></span></p> <script> var timeLeftElement = document.getElementById('timeLeft'); var startButton = document.getElementById('startTimer'); function countdown(seconds) { var intervalId; if (!isNaN(seconds)) { // 检查输入是否合法 timeLeftElement.textContent = seconds; intervalId = setInterval(function () { --seconds; if (seconds >= 0) { timeLeftElement.textContent = seconds; } else { clearInterval(intervalId); alert("倒计时结束!"); } }, 1000); // 每隔1秒钟更新一次 } } startButton.addEventListener('click', function () { countdown(10); // 设置初始时间为10秒 }); </script> ``` 此代码片段展示了如何利用 `setInterval` 和 DOM 操作相结合的方式构建基本交互逻辑。 --- #### 总结 以上就是针对《JavaScript前端开发案例教程》第六章的部分课后练习解析以及实际应用例子说明。希望这些内容能够帮助理解有关于BOM的知识点,并能灵活运用到项目实践中去。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小泽的熊先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值