了解 JavaScript 窗口对象


每个 JavaScript 环境都有一个 全局对象。在全局范围内创建的任何变量实际上都是这个对象的属性,任何函数都是它的方法。在浏览器环境中,全局对象是 window对象,它表示包含网页的浏览器窗口。

在本文中,我们将介绍 Window 对象的一些重要用途:

-浏览器对象模型

  • 在 JavaScript 中获取浏览器信息
  • 获取和使用浏览器历史记录
  • 创建和控制窗口
  • 获取屏幕尺寸和显示细节

浏览器对象模型

浏览器对象模型(或简称 BOM)是包含有关浏览器和计算机屏幕信息的属性和方法的集合。例如,我们可以找出正在使用哪个浏览器查看页面(尽管这种方法不可靠)。我们还可以找出查看它的屏幕尺寸,以及在当前页面之前访问过哪些页面。如果您讨厌用户,它也可以用于创建弹出窗口的相当可疑的做法。

BOM 没有官方标准,尽管所有主要浏览器都支持许多属性和方法,从而形成了一种事实上的标准。这些属性和方法可通过 window 对象获得。每个浏览器窗口、选项卡、弹出窗口、框架和 iframe 都有一个 window 对象。

BOM 仅在浏览器环境中才有意义

请记住,JavaScript 可以在不同的环境中运行。BOM 仅在浏览器环境中才有意义。这意味着其他环境(例如 Node.js)可能没有 window 对象,尽管它们仍然有一个全局对象;例如,Node.js 有一个名为 global.

如果不知道全局对象的名称,也可以 this 在全局范围内使用关键字来引用。以下代码提供了一种将变量分配给 global 全局对象的快速方法:

const global = this; 

全局变量

全局变量是不使用const, letvar关键字创建的变量。可以在程序的所有部分访问全局变量。

全局变量是全局对象的实际属性。在浏览器环境中,全局对象就是 window 对象。这意味着创建的任何全局变量实际上都是 window 对象的属性,如下例所示:

x = 6;window.x 
// 6 

一般来说,你应该在不使用 window 对象的情况下引用全局变量;它的输入更少,您的代码将在环境之间更具可移植性。一个例外是如果您需要检查是否已定义全局变量。例如,如果 x 尚未定义,以下代码将抛出 ReferenceError:

if (x) {} 

但是,如果变量作为window 对象的属性被访问,那么代码仍然可以工作,就像 window.x 简单地 return 一样false,这意味着代码块不会被评估:

if (window.x) { 
} 

我们已经遇到的一些函数,例如 parseInt() and isNaN(),实际上是全局对象的方法,在浏览器环境中,它们使它们成为 window对象的方法:

像变量一样,习惯上省略通过 window对象访问它们。

对话框

在浏览器中生成对话框的函数有 3 个alert()confirm()prompt()。这些不是 ECMAScript 标准的一部分,尽管所有主流浏览器都支持它们作为 window对象的方法。

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 掌握JavaScript需要掌握以下知识点: 1. 基础语法:包括变量、数据类型、运算符、控制语句、函数等。 2. DOM(文档对象模型):了解如何通过JavaScript操作HTML页面。 3. BOM(浏览器对象模型):了解如何操作浏览器窗口和其他浏览器特性。 4. 异步编程:了解如何处理异步任务,例如使用回调函数和Promise。 5. 面向对象编程:了解如何使用JavaScript的面向对象编程特性,例如类和对象。 6. 模块:了解如何使用模块管理代码,例如CommonJS和ES6模块。 7. JavaScript框架:了解如何使用JavaScript框架,例如React、Angular和Vue。 以上是掌握JavaScript的基本知识点,不同的开发需求和项目类型可能需要掌握其他相关知识点,但这些知识点是一个良好的开始。 ### 回答2: 掌握JavaScript需要以下知识点: 1. 编程基础:了解基本的编程思维和逻辑,掌握一门编程语言如C、Python等,对于掌握JavaScript非常有帮助。 2. HTML和CSS:JavaScript主要用于网页交互,因此了解HTML和CSS的基本概念和语法是必不可少的。HTML用于定义和组织网页内容,CSS用于定义网页的样式和布局。 3. 数据类型和变量:了解JavaScript的各种数据类型,例如数字、字符串、数组、对象等,以及如何声明和使用变量。 4. 控制结构:掌握条件语句(if-else、switch),循环语句(for、while)等控制结构,以便根据需求编写具有逻辑性的脚本。 5. 函数:了解如何创建和调用函数,以及函数的参数、返回值等基本概念。 6. DOM操作:DOM(文档对象模型)是访问和操作HTML文档的API,通过掌握DOM操作,可以实现网页的动态效果和交互。 7. 事件处理:了解JavaScript中的事件模型,包括如何注册事件处理程序、事件冒泡、事件委托等,以实现与用户的交互。 8. 异步编程:了解JavaScript中的异步编程模型,包括回调函数、Promise、async/await等,能够处理异步任务,提高程序的性能和用户体验。 9. 错误处理:了解如何捕获和处理JavaScript中的异常,以及如何进行调试和错误排查,提高代码的健壮性。 10. 常用的JavaScript库和框架:掌握一些常用的JavaScript库和框架,如jQuery、React、Vue等,能够利用它们提供的功能和工具,快速开发网页应用。 通过学习以上知识点,可以掌握JavaScript的基础语法和核心特性,为开发复杂的网页应用打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值