有一个这样的js方法

JS中return SomeFunction和不加return的区别<script language="javascript">
JS中return SomeFunction和不加return的区别
function TestFunction()
JS中return SomeFunction和不加return的区别{
JS中return SomeFunction和不加return的区别    alert('aaaaaa');
JS中return SomeFunction和不加return的区别
JS中return SomeFunction和不加return的区别    
return false
;
JS中return SomeFunction和不加return的区别
JS中return SomeFunction和不加return的区别    alert('bbbbbb');
JS中return SomeFunction和不加return的区别}
JS中return SomeFunction和不加return的区别
</script>

然后在页面中加入两个asp:button

JS中return SomeFunction和不加return的区别<asp:Button Runat="server" ID="ButtonReturn" Text="Return Function"></asp:Button>
JS中return SomeFunction和不加return的区别
<asp:Button Runat="server" ID="ButtonNotReturn" Text="Not Return"></asp:Button>

在后台的cs代码中分别给这两个button加上客户端的onclick事件

JS中return SomeFunction和不加return的区别ButtonReturn.Attributes.Add("onclick""return TestFunction();");
JS中return SomeFunction和不加return的区别ButtonNotReturn.Attributes.Add(
"onclick""TestFunction();");


然后在页面上分别点击这两个button, 效果一样吗?

答案是不一样, 我一直都不知道JS中return SomeFunction和不加return调用一个function的区别

第一个button由于加上了return TestFunction();所以执行到js里的return false的时候就不会继续往下执行了,页面当然也不会postback

但是第二个button就奇怪了,return false在这里是无效的,页面会继续postback, 而且是跳过了alert('bbbbbb');这句话来

所以有时候我们在做提交时的一些check的时候, 如果需要调用JS方法, 必须要加上这个return哦

只是我还是不明白加不加这个return到底有什么特殊的含义? 请各位高手不吝赐教!

相关文章: