js中的return

2,164 阅读2分钟

作用

return通常用在函数中,用来返回给定的值并结束函数执行。所以,return有两个作用:

  • 返回特定的值。这个值可以返回之后继续使用,用来展示或者继续进行其他计算。
  • 控制中断函数执行。不管返回的值是什么,都会中断return后面语句的执行 作用范围 只在当前函数有效,不会影响其他外部函数的执行。
function inner () {
    return false;
    //  其他代码不再执行
}
function outer () {
    inner()
    //  其他代码继续执行
}

inner函数的中的return false只会结束inner函数,而不会中断outer函数代码的继续执行。 在outer函数中,false是inner函数的返回值,可以在outer函数中作为判断条件继续使用。

返回值

返回的值可以是具体的值,也可以什么都不写。 函数默认的返回值是undefined,所以当你不写return,或者只写return而不返回具体的值时,会返回undefined

布尔类型的返回值

return false

return false相当于执行了下面三步: event.preventDefault(); event.stopPropagation();停止函数执行并返回。 event.preventDefault()用来阻止浏览器的默认行为, event.stopPropagation()用来停止事件冒泡, 所以通常会有人用return false来阻止浏览器的默认行为(点击a链接跳转,点击submit 按钮提交表单等),其实是使用了event.preventDefault()的功能。 所以,当你只是想阻止浏览器默认行为时,尽量使用event.preventDefault(),而不是return false。

js 判断对象中是否包含某个属性

var obj = {name:'张三',age:18};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('id'); // --> false

find() 方法

返回通过测试(函数内判断)的数组的第一个元素的值。 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。 注意: find() 对于空数组,函数是不会执行的。 注意: find() 并没有改变数组的原始值。

switch 表达式

switch (new Date().getDay()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六"; //不必中断 switch 代码块中的最后一个 case。代码块在此处会自然结束
        //default 关键词规定不存在 case 匹配时所运行的代码
} 

如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块 break 能够节省大量执行时间,因为它会“忽略” switch 代码块中的其他代码的执行。 如果加了return