网站首页 > 教程文章 正文
Window 对象对于 Web 开发人员来说是一个非常有用的工具,从使用 jQuery 等更传统库的开发人员到 React 和 Vue 等尖端框架的开发人员。 话虽如此,Window 对象的全局范围变量和方法与有争议的 var 之间存在重要的交互,这与使用遗留代码的开发人员特别相关。
在全局范围内使用 var 定义变量时,这些变量成为窗口的属性。 这允许人们交替使用变量本身和 window.variableName ,如下所示:
var hello = "Hello World!";
print(hello); // Hello World!
print(window.hello); // Hello World!
当与 var 的其他怪癖结合使用时,这可能会导致大量问题,例如它可以在任何时间点重新声明的能力。 因此,当您打算声明一个新变量时,您可能会意外更改窗口属性! 请参见下面的示例:
var location = "Toronto, ON";
在纸面上看起来不错,但只有在您意识到 window.location 属性指的是当前 URL 时,我才将您重定向到“yourCurrentURL/Toronto, ON”。
在重构遗留代码时,您可能只会遇到这样的问题。 如果您熟悉避免使用 var 的许多原因,您可能会倾向于将所有这些讨厌的 var 更改为 let 和 const。 盲目地这样做绝不是一个好主意,上面的怪癖是你需要注意的一个重要的边缘情况。
猜你喜欢
- 2025-05-02 本想搞清楚ESM和CJS模块的转换问题,没想到写完我的问题更多了
- 2025-05-02 ES6 的新增语法(es6最新语法)
- 2025-05-02 Go语言零基础入门指南(上篇)(go语言从入门到实战)
- 2025-05-02 2024年,你需要掌握的 30 个 JavaScript 面试问题和答案(基础篇)
- 2025-05-02 开发一个 App Clip 并不难!我们立马上开发教程
- 2025-05-02 如何编写干净、可维护的 JavaScript 代码
- 2025-05-02 如何用 Parse 和 Swift 搭建一个像 Instag
- 2025-05-02 ES6 新增了哪些新特性 (二)(es6新增了什么)
- 2025-05-02 JavaScript篇面试题(js 常见面试题)
- 2025-05-02 系列专栏(六):解构赋值(解构赋值的好处)
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)