不同页面上的javascript变量

时间:2018-11-05 06:31:16

标签: javascript

假设我有2个html页面(home和about),在主页中我有这样的标题

<header id="#header">
  some code
</header>

并且此标头仅在主页上,因此如果我在Java脚本主文件中选择了此标头

const header = document.getElementById('#header');

这将在About页面上给我一个错误,因为在此页面中没有诸如标题之类的东西,那么如何防止此类错误呢? 我必须改为使其成为局部变量吗?

我实际上所做的就是这样

if( body.className = 'home' ) {
 some code
}

这样,我将确保about页面将无法访问与主页相关的任何内容,但这是一个不好的做法吗?

2 个答案:

答案 0 :(得分:0)

有许多 方法可以对此进行改进。不过,对您问题的最直接答案是,如果找不到元素,document.getElementById将返回null。因此,将依赖于header的所有代码放在检查null的条件中。

if (header) { ... }

答案 1 :(得分:-1)

您可以在javascript等中使用三元运算符

const path = require('path');

module.exports = {
  css: {
    loaderOptions: {
      // pass options to sass-loader
      sass: {
        data: `@import "~styles/global.scss";`
      }
    }
  }
}

因此不会出现错误, 在任何要使用它的地方,都可以使用if语句使用null检查。