嗨,我想了解函数如何返回值。我有两个功能,一是工作,二是不工作。我想知道为什么第二个功能不起作用。 http://jsfiddle.net/95vXQ/5/
这是第二个不起作用的功能。我想知道为什么它没有改变 isVisible 值
嗨,我想了解函数如何返回值。我有两个功能,一是工作,二是不工作。我想知道为什么第二个功能不起作用。 http://jsfiddle.net/95vXQ/5/
这是第二个不起作用的功能。我想知道为什么它没有改变 isVisible 值
jQuery点击功能在这个链接中解释得很清楚。click 函数可用于在单击对象时触发单个或一系列 jQuery 事件。函数中声明的变量仅在该单击函数中有效。点击函数不能返回值,只能触发事件。
这是变量范围问题。在此处查找更多信息。为简单起见,您在函数内部定义的任何变量在函数外部都是未定义的。
第二个屏幕截图中的函数失败,因为每次有点击事件时都会执行该函数,即,即使您正在重置 isVisible 值,它也不会被带到下一次调用,因为您再次初始化 isVisible 并将 true 值设置为它。
第二个屏幕截图不起作用,因为isVisible
在 click 函数中定义。一旦该功能完成isVisible
,就会取消设置。当您再次调用 click 函数时,isVisible
它会被重置并且它的值恢复为 true。这就是所谓的变量作用域。
而这个问题与返回值无关。要返回一个值,您必须使用return [varname]
,这在 click 函数中无济于事。
您的第二个示例没有按预期工作,因为在函数内部您正在将值重新分配给 true isVisible
; 并注意isVisible
,如果您在 click 函数中声明它,则范围将仅在函数内部。
如果您只想了解上述示例的工作原理,并且对在函数外部声明变量不感兴趣,请尝试使用这个 jsfiddle。
如果你想做一个显示/隐藏功能,那么试试这个切换 jsfiddle。代码如下。
$(function(){
$("#btnShow").toggle(
function(){
$(this).val("Show");
$("#divContent").hide();
},
function(){
$(this).val("Hide");
$("#divContent").show();
}
);
});
很简单..阿米特。
在您的第一种情况下,它是一个全局变量,因此,一旦它在 hidden 之后更新为 False ,它就会再次显示 div 。
还是不清楚?