Javascript变量在没有var的情况下工作?

Javascript变量在没有var的情况下工作?,javascript,Javascript,我正在尝试用Javascript编写一个图像滑块,我在网上查看了一些示例,发现了这个特殊的示例: function slider(){ var current = 0; slides = document.getElementsByClassName("images"); setInterval(function() { for (var i = 0; i < slides.length; i++) { slides[i].style.opacity = 0; } current

我正在尝试用Javascript编写一个图像滑块,我在网上查看了一些示例,发现了这个特殊的示例:

function slider(){
var current = 0;
slides = document.getElementsByClassName("images");
setInterval(function() {
for (var i = 0; i < slides.length; i++) {
    slides[i].style.opacity = 0;
}
current = (current != slides.length - 1) ? current + 1 : 0;
slides[current].style.opacity = 1;
}, 3000);
}
window.onload=slider;
我已经测试过了,它没有错误

我想知道为什么变量“slides”没有声明为“var slides”,当我添加“var”时,脚本停止工作。
Javascript中的所有变量不是都以“var”开头吗?为什么在没有“var”的情况下可以工作?

正确地将幻灯片声明为var幻灯片不会破坏此功能

运行下面的示例

功能滑块{ 无功电流=0; var slides=document.getElementsByClassNameimages; 设置间隔函数{ 对于变量i=0;i图3这是一个全局变量。这是一个全局变量。我试图将其作为的副本关闭,尽管这个问题也询问了特定的情况。您确定添加变量会使其停止工作吗?它应该是好的-你能显示一个小片段,你已经添加了它,以及它以什么方式不工作,任何错误等?