新手在这里。我正在使用一些JavaScript(在本例中为JQuery),旨在在单击按钮时显示页面上的元素。
看起来有些变量(例如“ $ lis”,“ min”,“ max”)没有用“ let”或“ var”声明。我的理解是,这会将它们设置为全局变量,但是在这种情况下,我认为没有任何理由将它们设置为全局变量。
有人可以帮助我理解为什么“ $ lis”,“ min”和“ max”不包含“ var”,但是包含“ visible”吗?谢谢!
$( document ).ready(function() {
jQuery(function($) {
$lis = $('.blog-page-post');
min = 2;
max = $lis.length;
var visible = min;
function showUpToIndex(index) {
$lis.hide();
$lis.slice(0, index).show();
}
function disableButtons(){
if (visible >= max){
visible = max;
$('.button').hide();
}
else
{
$('.button').show();
}
}
showUpToIndex(visible);
disableButtons();
$('.button').click(function(e) {
e.preventDefault();
visible = visible + 2;
disableButtons();
showUpToIndex(visible);
});
});
});
You have to use use strict (Strict Mode - MDN) to handle these edge cases.
在您的情况下,当您像这样分配未声明的变量时:
abc = true
然后将其转换为:
window.abc = true