如何使用条件语句设置变量?

use*_*747 0 jquery

这不起作用,即使在功能块中放置一个简单的打印("foo")也可以.

<script>

var viewportHeight = $(window).height();
var X;

$(function() {

    if (viewportHeight >= 600) {
         var X = 100;
       }
});
</script>
Run Code Online (Sandbox Code Playgroud)

lbs*_*str 8

var关键字用于创建一个变量,其范围分配给function它所在的任何变量.如果它不在函数内部,则其范围是window,使其成为全局变量.如果省略var关键字,js引擎将查找范围链以获得最接近的变量定义.因此,通过var在函数内部使用,您将创建一个名为X该函数本地的新变量.如果省略var函数内的关键字,它将查找范围链并找到var X您在上面定义的关键字.

<script>

var viewportHeight = $(window).height();
var X;

$(function() {

    if (viewportHeight >= 600) {
        X = 100; //don't use var if you want to access the above X
    }
});
</script>
Run Code Online (Sandbox Code Playgroud)