当前位置:   article > 正文

JavaScript第九讲BOM编程的练习题

JavaScript第九讲BOM编程的练习题

前言

上一节有BOM的讲解,有需要的码客们可以去看一下

以下是一个结合了上述BOM(Browser Object Model)相关内容的练习题及其源代码示例:

练习题

编写一个JavaScript脚本,该脚本应该执行以下操作:

  1. 显示当前浏览器窗口(外部窗体)的宽度和高度。
  2. 显示当前文档显示区域(视口)的宽度和高度。
  3. 使用Screen对象显示用户的屏幕分辨率。
  4. 创建一个新的浏览器窗口,并在其中加载指定的URL。
  5. 刷新当前页面。
  6. 使用Location对象跳转到另一个页面。
  7. 使用警告框、确认框和输入框与用户进行交互。
  8. 使用计时器(setTimeoutsetInterval)在控制台打印信息,并展示如何终止setInterval

源代码示例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>BOM 编程练习题</title>
  7. <script>
  8. window.onload = function() {
  9. // 1. 显示当前浏览器窗口的宽度和高度
  10. console.log('外部窗体宽度:', window.outerWidth, '外部窗体高度:', window.outerHeight);
  11. // 2. 显示当前文档显示区域的宽度和高度
  12. console.log('文档显示区域宽度:', window.innerWidth, '文档显示区域高度:', window.innerHeight);
  13. // 3. 显示用户的屏幕分辨率
  14. console.log('屏幕分辨率:', screen.width, 'x', screen.height);
  15. // 4. 创建一个新的浏览器窗口并加载URL
  16. var newWindow = window.open('https://www.example.com', '_blank');
  17. // 5. 刷新当前页面
  18. function refreshPage() {
  19. location.reload();
  20. }
  21. // 可以调用 refreshPage() 来刷新页面,但这里不直接调用
  22. // 6. 跳转到另一个页面
  23. function navigateToPage() {
  24. location.href = 'https://www.anotherexample.com';
  25. }
  26. // 可以调用 navigateToPage() 来跳转页面,但这里不直接调用
  27. // 7. 与用户进行交互
  28. function showAlert() {
  29. alert('这是一个警告框!');
  30. }
  31. function showConfirm() {
  32. if (confirm('你确定要继续吗?')) {
  33. alert('你点击了确定!');
  34. } else {
  35. alert('你点击了取消!');
  36. }
  37. }
  38. function showPrompt() {
  39. var inputValue = prompt('请输入你的名字:', '');
  40. if (inputValue !== null) {
  41. alert('你好,' + inputValue + '!');
  42. }
  43. }
  44. // 可以调用这些函数来显示不同的对话框
  45. // 8. 使用计时器
  46. // setTimeout 只执行一次
  47. setTimeout(function() {
  48. console.log('setTimeout 执行的消息');
  49. }, 2000);
  50. // setInterval 不停地重复执行
  51. var intervalId = setInterval(function() {
  52. console.log('setInterval 执行的消息');
  53. // 假设在某个条件下我们要停止定时器
  54. if (Date.now() > someFutureTime) { // someFutureTime 是某个未来的时间戳
  55. clearInterval(intervalId);
  56. }
  57. }, 1000);
  58. // 注意:不要在setInterval的回调函数中使用document.write(),因为它会重写整个页面
  59. };
  60. </script>
  61. </head>
  62. <body>
  63. <button onclick="showAlert()">显示警告框</button>
  64. <button onclick="showConfirm()">显示确认框</button>
  65. <button onclick="showPrompt()">显示输入框</button>
  66. <!-- 可以添加更多按钮来调用其他函数 -->
  67. </body>
  68. </html>

注意

  • someFutureTime 在上面的 setInterval 示例中是一个假设的变量,你需要用实际的时间戳替换它。
  • 由于浏览器安全策略的限制,某些浏览器可能会阻止或限制window.open方法的行为。
  • 出于演示目的,refreshPagenavigateToPage函数在上面的代码中没有被直接调用,但你可以根据需要调用它们。
  • 在实际应用中,应当避免在全局范围内定义过多的函数和变量,以防止命名冲突和意外的副作用。

今天就到这里了各位大佬们。

respect!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/709791
推荐阅读
相关标签
  

闽ICP备14008679号