首页 > 解决方案 > Javascript innerWidth 而不是 window.innerWidth

问题描述

有什么理由我应该使用window.innerWidth而不是innerWidth

标签: javascript

解决方案


window.innerWidth始终是窗口对象的属性,因此只要窗口存在(在其他 js 环境中,如 Node.js 中不存在),您就是安全的,而innerWidth仅在尚不存在变量时才引用全局对象在当前范围内具有相同的名称。

例如

// This logs the actual window.innerWidth
console.log(innerWidth);

function something() {
  const innerWidth = 4;

  // This innerWidth will not refer to the global object..
  console.log(innerWidth);
}

// ..so this logs 4
something();

所以要么你记住所有的window属性,这样你就不会产生冲突的变量名(不是很方便也很难调试),或者你只是window显式地访问对象,使代码更冗长但更清晰,更不容易出错.


推荐阅读