嵌套的条件语句工作,但组合条件语句不 - JavaScript

时间:2018-03-29 13:12:49

标签: javascript conditional

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

基本上我有一个SVG视图框,我用JS调整了大屏幕的大小。

此SVG视图框仅在我网站的第一页上。

我有一个条件语句,如果第1页和窗口中的用户是1920px或更大,则视图框会调整大小。

我用嵌套的if语句实现了这个目的。

if (page1) {

    if (window.innerWidth > 1919) {

        // set SVG viewbox for screens larger than 1920px

    } else {

        // keep normal viewbox dimensions.

    }

}

当我尝试这个时,我把它作为一个if语句做了两个条件,虽然这在第1页上有效,但当我不在第1页时,它在控制台中引发了一个错误。

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

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

// set SVG viewbox for screens larger than 1920px

} else {

// keep normal viewbox dimensions.

}

1 个答案:

答案 0 :(得分:1)

考虑代码的含义:在第一个版本中,如果 page1,则可以更改大小或保持默认大小。如果不是 page1,则

在第二种情况下,如果它是page1并且窗口很大,则使用大视图框。如果

他们不一样。