关闭

js中return关键词的作用_return的用法详解

时间: 2018-06-07阅读: 2157标签: js知识

return从字面意思来看就是返回,官方定义return语句将终止当前函数并可以返回当前函数的值; 也就是说return后面可以跟一个value,也就是说可以跟JavaScript中的任何数据类型,数字,字符串,对象等,当然也可是再返回一个函数 


return语法:  

return[()[expression][]];

说明:可选项 expression 参数是要从函数返回的值。如果省略,则该函数不返回值。

return 语句来终止一个函数的执行,并返回 expression 的值。如果 expression 被省略,或在函数内没有 return 语句被执行,则把值 undefined 赋给调用当前函数的表达式。  


return返回控制:

1、return后expression 被省略时,返回值为undefined

function fn(){
    //code
    return;
}
console.log(fn());//返回undefined

2、return后带非函数的返回值

//判断数字的奇偶性
function fn(num){
    return  num%2==0?true:false;  
}
console.log(fn(2));//返回true

3、当return后带函数的返回值

function test(){
    console.log("执行了tes函数")
}
function fn(){
    return test()
}
console.log(fn())//执行了tes函数

4、return只在当前函数有效,不会影响其他外部函数的执行

function test(){
    return
}
function test1(){
 	console.log("执行了test1")
}
function fn(){
    test()
    test1()
}
fn()//执行了test1


return细节知识:

例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别

JavaScript在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。而该值决定了当前操作是否继续。

return的用法详解当返回的是true时,将继续操作。 
当返回是false时,将中断操作。 
而直接执行时(不用return)。将不会对window.event.returnvalue进行设置,所以会默认地继续执行操作。  


详细说明如下,例如:

当在 <a href="abc.htm" onclick="return add_onclick()">Open</a> 中,如果函数 add_onclick() 返回 true, 那么页面就会打开 abc.htm。

否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容。 (add_onclick函数中控制页面转到abc.htm除外)

而 <a href="abc.htm" onclick="add_onclick()">Open</a>,不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm


另外补充:

onclick事件时就相当于onclick="return true/false",例:

function check()
{
if(obj.value=="" )
  {
   window.alert("不能为空!");
   obj.focus();
   return false;
  }
   return true;
}

调用方法返回true时才提交表单,反之则不提交,这是submit按钮,调用js函数不需要return,但是表单却无法提交,所以在js函数中加上一句话。例:

<script language="javascript">
function check()
{
if(obj.value=="" )
  {
   window.alert("不能为空!");
   obj.focus();
   return false;
  }
   document.myform.submit();
   return true;
}
</script>

注:document.myform.submit();要在return true前  


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/863

关闭

原生js实现数字三位逗号,分隔。js实现支持逗号分割的货币格式表示法总汇

javascript实现数字三位逗号分隔,如把123456.78转换为123,456.78。js实现支持货币格式表示法:toLocaleString在将数字转换为字符串的同时,会使用三位分节法进行显示。slice 方法用于截取字符串中的一部分并返回该部分字符串。match方式代表正则表达式的匹配....

浅谈js自记忆函数

最近阅读《JavaScript忍者秘籍》看到了一种有趣的函数:自记忆函数。记忆化(memoization)是一种构建函数的处理过程,能够记住上次计算结果,当函数计算得到结果时,就将该结果按照参数存储起来。

归并排序JavaScript实现_关于归并排序思路和代码实现

归并排序:其基本思想是分治策略,先进行划分,然后再进行合并,步骤是: 1.我们以数组[1, 5, 6, 2, 4, 3]举例,归并排序的第一步,将数组一分为2;2.接着将分成的数组继续一分为2,直到长度为1,我们构成如下二叉树(成树 从上往下)

javascript怎么判断按钮被点击?

JavaScript可以通过Event对象的target事件或srcElement(IE浏览器支持)来判断按钮是否被点击。Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

document.write和innerHTML的区别

document.write只能重绘整个页面,innerHTML可以重绘页面的一部分。 document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open。

js基础_如何理解作用域和作用域链?

作用域外,无法引用作用域内的变量;离开作用域后,作用域的变量的内存空间会被清除,比如执行完函数或者关闭浏览器,作用域与执行上下文是完全不同的两个概念。我曾经也混淆过他们,但是一定要仔细区分。JavaScript代码的整个执行过程,分为两个阶段,代码编译阶段与代码执行阶段。

JavaScript中的行为委托

行为委托简单来说就是一种设计模式,不同于传统的构造函数的类式设计。这里每个例子会通过构造函数,class和行为委托来不同实现,不过不会评论class,是否使用class取决于你的观点。

深入理解javascript中的事件循环event-loop

人们把javascript调控同步和异步任务的机制称为事件循环,首先来看事件循环机制的可视化描述,主线程运行的时候,产生堆和栈,栈中的代码调用各种外部API,异步操作执行完成后,就在消息队列中排队。

Js如何获取ul中li的个数?

javascript如何获取ul中li的个数?下面本篇文章就来给大家介绍一下使用javascript获取ul中li个数的方法,希望对大家有所帮助。

js的解析的两个阶段_预解析阶段、执行阶段

js不像C语言那样只要编译一次之后成.exe文件之后就不用在编译可以直接使用了,js是一种解释型语言,js同理是边解析边执行。js的解析分为两个阶段 1.预解析阶段 2.执行阶段。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!