일반 함수와 생성자의 차이점
네이밍 규칙에 있어서 생성자는 일반적으로 첫 글자를 대문자로 표기하는 반면, 일반 함수는 카멜 케이스 네이밍 방식을 따릅니다.
함수 호출 시:
function fn() { }
생성자: 1. new fn( )
2. 생성자 내부에 새 객체, 즉 f
의 인스턴스가 생성됩니다. > 호출 함수
3. 함수 내부의 이것은 호출 함수의 객체를 가리킵니다(객체가 호출되지 않으면 기본값은 window입니다)
4. 반환 값은 return 문에 의해 결정됩니다
생성자의 반환 값:
기본 반환 값이 있는데, 새로 생성된 객체(예)
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>