嵌套条件语句有效,但组合条件语句无效 - JavaScript

Nested Conditional Statement Works, but Combines Conditional Statement Doesn't - JavaScript

我有一段代码解决了一个问题,但我不知道为什么我的解决方案有效,我发现这几乎和某些东西不起作用时一样令人沮丧。

基本上我有一个 SVG viewbox,我已经用 JS 调整了大小以适应大屏幕。

此 SVG 视图框仅出现在我网站的一个页面上,第 1 页。

我有一个条件语句,如果用户在第 1 页并且 window 为 1920 像素或更大,则视图框会调整大小。

我是通过嵌套的 if 语句实现的。

if (page1) {

    if (window.innerWidth > 1919) {

        // set SVG viewbox for screens larger than 1920px

    } else {

        // keep normal viewbox dimensions.

    }

}

当我最初尝试这个时,我将它作为一个带有两个条件的 if 语句来完成,虽然这在 page1 上有效,但当我不在 page1 上时它在控制台中抛出了一个错误。

为什么当只有一个组合条件而不是嵌套条件时,它会在非 page1 的页面上抛出错误?我得到的错误基本上是说 SVG 元素不存在。我很困惑。

if (page1 && window.innerWidth > 1919) {

// set SVG viewbox for screens larger than 1920px

} else {

// keep normal viewbox dimensions.

}

想一想您的代码的含义:在第一个版本中,如果它 page1,那么您要么更改大小,要么保持默认大小。如果它 不是 page1,你什么都不做

在第二种情况下,如果它是 page1 并且 window 很大,则使用大视图框。如果是 而不是 page1 页面不够大,请使用默认大小。

它们只是不一样。