>  기사  >  웹 프론트엔드  >  Javascript 일반 함수와 생성자의 차이점

Javascript 일반 함수와 생성자의 차이점

高洛峰
高洛峰원래의
2016-12-07 15:34:461237검색

일반 함수와 생성자의 차이점

네이밍 규칙에 있어서 생성자는 일반적으로 첫 글자를 대문자로 표기하는 반면, 일반 함수는 카멜 케이스 네이밍 방식을 따릅니다.

함수 호출 시:

function fn() { }

생성자: 1. new fn( )
2. 생성자 내부에 새 객체, 즉 f
의 인스턴스가 생성됩니다. > 호출 함수
3. 함수 내부의 이것은 호출 함수의 객체를 가리킵니다(객체가 호출되지 않으면 기본값은 window입니다)
4. 반환 값은 return 문에 의해 결정됩니다


생성자의 반환 값:


기본 반환 값이 있는데, 새로 생성된 객체(예)

반환 값을 수동으로 추가하는 경우(return 문) ):


1. 반환 값은 기본 데이터 유형입니다. -->실제 반환 값은 여전히 ​​새로 생성된 객체(instance)입니다

2. 반환 값은 복합 데이터입니다. type(객체) -->실제 반환 값은 이 객체입니다

자주 면접 질문 보기



<script>
  function foo() {
    var f2 = new foo2();
    console.log(f2);  //{a: 3}
    console.log(this); //window
    return true;
  }
  function foo2() {
    console.log(this); //foo2类型的对象 不是foo2函数
//    this.age = 30;
    return {a: 3};
  }
  var f1 = foo();
  console.log(f1); // true
</script>

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