简单的Javascript问题

当我点击按钮时,第一次,一切正常,但第二次,没有任何反应。 这是为什么?

<form name="alert"><input type="text" name="hour"><input type="text" name="min"><input type="button" value="ok" onclick="budilnik(this.form)">

<script type="text/javascript">
function budilnik(form)
{

budilnik=1;
min=form.min.value;
hour=form.hour.value;
alert (min+' '+hour+' '+budilnik);

}
</script>

学会使用Firebug。 它将在未来帮助你。

budilnik=1;

这可能听起来很疯狂,但是这将函数budilnik 重新定义为一个整数,这会破坏表单的onlick。 如果你在关键字var前面加上这个语句,你将会遮蔽这个函数,但不会覆盖它。 当你不指定var关键字时,变量被认为是全局作用域,这可能会导致问题(如这样)。

我用萤火虫看到第二次点击时,“budilnik没有定义。” 如果你使用过这个工具,你可能会自己调试这个问题。


变量budilnik是阴影功能budilnik 。 更改变量的名称,并且每次您的函数都应该正确运行。

更详细地说:

首先,JavaScript将budilink视为一种功能。 当budilnik执行,价值budilnik改写为整数1。因此,下一次的JavaScript被告知要执行budilink ,它试图执行1而不是在那里之前的功能。


var关键字放在变量名称前面。

我测试了下面的代码,它只是起作用:

<form name="alert">
<input type="text" name="hour">
<input type="text" name="min">
<input type="button" value="ok" onclick="budilnik(this.form);">

<script type="text/javascript">
function budilnik(form)
{
    var budilnik=1;
    var min=form.min.value;
    var hour=form.hour.value;
    alert (min+' '+hour+' '+budilnik); 
}
</script>
链接地址: http://www.djcxy.com/p/96519.html

上一篇: Simple Javascript question

下一篇: Do you ever use the volatile keyword in Java?