这不起作用,即使在功能块中放置一个简单的 print ("foo") 确实有效。
<script>
var viewportHeight = $(window).height();
var X;
$(function() {
if (viewportHeight >= 600) {
var X = 100;
}
});
</script>
这不起作用,即使在功能块中放置一个简单的 print ("foo") 确实有效。
<script>
var viewportHeight = $(window).height();
var X;
$(function() {
if (viewportHeight >= 600) {
var X = 100;
}
});
</script>
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>
只是我的两分钱,但你可以把整个事情写成一个表达式。
var X = $(window).height() >= 600 ? 100 : null;
这似乎是一个很好的速记的地方