>  기사  >  웹 프론트엔드  >  자바스크립트 기본 튜토리얼의 함수 반환 값 반환 구문 예제에 대한 자세한 설명

자바스크립트 기본 튜토리얼의 함수 반환 값 반환 구문 예제에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-25 10:10:421836검색

函数返回值

  函数中的return语句用来返回函数调用后的返回值

return expression;

  return语句只能出现在函数体内,如果不是会报语法错误

return 1;//SyntaxError: Illegal return statement

  如果没有return语句,则函数调用仅仅依次执行函数体内的每一条语句直到函数结束,最后返回调用程序。这种情况下,调用表达式的结果是undefined

var test = function fn(){}
console.log(test);//undefined

  当执行到return语句时,函数终止执行,并返回expression的值给调用程序

var test = function fn(){    
  return 2;
};
console.log(test());//2

  [注意]并不是函数中return语句后的所有语句都不执行,finally语句是例外,return语句不会阻止finally子句的执行

function testFinnally(){
    try{
        return 2;
    }catch(error){
        return 1;
    }finally{
        return 0;
    }
}
testFinnally();//0

 [注意]由于javascript可以自动插入分号,因此在return关键字和它后面的表达式之间不能有换行

var test = function fn(){    
   return  2;
};
console.log(test());//undefined

  一个函数中可以有多个return语句

function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  } else {
    return iNum2 - iNum1;
  }
}

return语句可以单独使用而不必带有expression,这样的话也会向调用程序返回undefined

var test = function fn(){    
   return;
};
console.log(test());//undefined

  return语句经常作为函数内的最后一条语句出现,这是因为return语句可用来使函数提前返回。当return被执行时,函数立即返回而不再执行余下的语句

//并没有弹出1
var test = function fn(){
    return;
    alert(1);
};
console.log(test());//undefined

如果函数调用时在前面加上了new前缀,且返回值不是一个对象,则返回this(该新对象)

function fn(){
    this.a = 2;
    return 1;
}
var test = new fn();
console.log(test);//{a:2}
console.log(test.constructor);//fn(){this.a = 2;return 1;}

如果返回值是一个对象,则返回该对象

function fn(){
    this.a = 2;
    return {a:1};
}
var test = new fn();
console.log(test);//{a:1}
console.log(test.constructor);//Object() { [native code] }

위 내용은 자바스크립트 기본 튜토리얼의 함수 반환 값 반환 구문 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.