`
hyshucom
  • 浏览: 808338 次
文章分类
社区版块
存档分类
最新评论

JS中return SomeFunction和不加return的区别

 
阅读更多
有一个这样的js方法
<scriptlanguage="javascript">
functionTestFunction()
{
alert('aaaaaa');

returnfalse
;

alert('bbbbbb');
}
</script>

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

<asp:ButtonRunat="server"ID="ButtonReturn"Text="ReturnFunction"></asp:Button>
<asp:ButtonRunat="server"ID="ButtonNotReturn"Text="NotReturn"></asp:Button>

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

ButtonReturn.Attributes.Add("onclick","returnTestFunction();");
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哦

<INPUT TYPE="submit" >
当事件里面有return 的时候,当返回值为False的时候,就会取消了事件的回调(Click事件)相当于CancleBuble
当没有return 的时候,应该是默认回一个true了

2个提交按钮,一个到"return false"这里就会取消提交,
另一个会提交的。你看页面有没有刷新就知道了

都是是为按钮加上事件触发的方法;对于1来说,相当于
document.getElementById("ButtonReturn").onclick = function()
{
return TestFunction();
}

对于2来说
document.getElementById("ButtonReturn").onclick = function()
{
TestFunction();
}

TestFunction里的返回值并没有在在2里的”方法“中返回,所以它必然向下执行的

分享到:
评论

相关推荐

    浅谈JS中every()和some()方法

    1、some():  some() 方法用于检测数组中的元素...console.log( arr.some( function( item, index, array ){ console.log( 'item=' + item + ',index='+index+',array='+array ); return item &gt; 6; })); 结果: 注

    apis-return:返回值api助手

    #apis-return 库的返回值助手 ##用法 var returnHandler = require ( 'apis-return' ) ; //Some resource class here Resource . prototype . get = function ( id , cb ) { db . get ( id , returnHandler ( ...

    hls.min.js

    return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/hls.js/dist/",e(e.s=7)}([function(t,e,r){"use strict";function i(){}function a(t,e){return e="["+t+"] &gt;...

    JS作为值的函数用法示例

    return someFunction(someArgument); } 这个函数接受两个参数,第一个函数应该是一个函数,第二个参数应该是要传递给该函数的一个值.该函数是通用的. 如: function add10(num){ return num+10; } var result = ...

    JavaScript的测试框架Doctest.js.zip

    Doctest.js 是 JavaScript 的测试框架。 示例测试代码: function capitalize(words) { return words.replace(/\b[a-z]/g, function (m) { return m[0].toUpperCase(); }); } print(capitalize('some words'))...

    每天一篇javascript学习小结(Function对象)

    小编两天都没有更新文章了,小伙伴们是不是等着急了,今天开始再继续我们的《每天一... return someFunction(someArgument); } function add10(num){ return num + 10; } var result1 = callSomeFunction(add10, 1

    大名鼎鼎SWFUpload- Flash+JS 上传

     注:官方帮助文档的原文中对该事件的描述中有这样一句:“If you return 'true' or do not return any value then the upload proceeds.”,从中可以看到既定的设计是当不返回任何值的时候应该等同于返回true,...

    JS原生代码框架EasyJSWebView.zip

    在Javascript中, 你可以使用如下代码调用 Objective-C 方法.MyJSTest.test(); MyJSTest.testWithParam("ha:ha"); MyJSTest.testWithTwoParamAndParam2("haha1", "haha2"); var str = MyJSTest.testWithRet(); ...

    实用JavaScript工具库Eustia.zip

    Eustia是一个用于生成JavaScript函数库的工具。它能够扫描代码实时生成只包含所需方法的函数库。目前默认函数库除了underscore中使用较多的each、template等函数外,还包含类创建、cookie操作、Dom操作、日期格式化...

    pwf.js:用于编写模块的 Javascript 容器

    pwf.js 用于编写模块并基于简单的依赖系统异步加载它们的 Javascript 容器。 例子 模块 模块是能够异步等待依赖项的单例对象。 pwf . register ( 'example' , function ( ) { this . is_ready = function ( ) { ...

    iterable-some:Array.some用于可迭代

    这些都是true : [ false , null , 0 , 'truthy' ] :: some ( function ( ) { return this ; } ) ;new Set ( [ 5 ] ) :: some ( function ( ) { return this &gt; 4 ; } );new Map ( [ 2 , 'nope' ] , [ 5 , 'yup' ] )...

    javascript高级教程

    javascript高级教程 1、运算符  运算符就是完成操和的一系列符号,它有七类:  赋值运算符(=,+=,-=,*=,/=,%=)、算术运算符(+,-,*,...是true和false他就是boolean型(注意,不能加引号,不然会被当成字符串处理)。

    最小系统加载工具systemjs.zip

    systemjs 是一个最小系统加载工具,用来创建插件来处理可替代的场景加载过程,包括加载 CSS 场景和图片,主要运行在浏览器和 NodeJS 中。它是 ES6 浏览器加载程序的的扩展,将应用在本地浏览器中。通常创建的插件...

    通过实例解析JavaScript for in及for of区别

    对数组的遍历大家最常用的就是for循环,ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map、filter、some、every、reduce、reduceRight等,只不过他们的返回结果不一样。但是使用foreach遍历数组的话,使用...

    php-7.0.20-nts-Win32-VC14-x64 php7.0资源下载

    生成器(或者叫迭代器更合适)可以有一个最终返回值(return),也可以通过 yield from 的新语法进入一个另外一个生成器中(生成器委托)。 生成器的两个新特性(return 和 yield from)可以组合。具体的表象大家...

    JavaScript Table行定位效果

    w3c的table部分中说width属性是the desired width of the entire table,我估计entire就是包含了padding和border,找不到什么其他说明,先这么理解吧。 定位方面,除了不支持fixed的ie6用absolute,其他都使用fixed...

    javascript之函数直接量(function(){})()

    种语法是什么意思(function(){})() 如下例: [removed] (function(){ [removed](“some script code”); })() [removed] [removed] &lt;!– var a=(function(s){return s})(“abc”); alert&#40;a&#41;; var b...

    如何实现web页面的提示保存功能

    每每听到客户抱怨自己修改和很久的数据由于自己的一个误操作而丢失时,总想让web页面也有像window窗体一样具有提示保存的功能。所以,经过一段时间的研究以后终于实现了这个功能!============ ...

    cfgjs:用于上下文无关文法的基本JS解析器

    CFG.js关于CFG.js允许您定义和执行任意语法。 在定义DSL时这可能很有用。安装当前,您只下载目录并require('some/path/parser.js') 。用一个示例位于calc_example.js 。实例化解析器 var Parser = require('./parser...

    gissues:监控您的npm依赖性并检查您的问题

    }/** * Some function * https://github.com/strongloop/express/issues/2670 * @return { String } Example */function bar ( ) { return 'foo' ;}地位这是一个 WIP,简单的概念证明。原因如果您在评论中添加GitHub...

Global site tag (gtag.js) - Google Analytics