javascript - js 객체지향
扔个三星炸死你
扔个三星炸死你 2017-06-26 10:58:46
0
4
617

죄송합니다. mm 함수에 new 이후에 괄호를 추가하는지 여부의 차이점이 무엇인가요? 왜 동일한 결과가 나오는 걸까요? 선임 전문가가 원리를 설명할 수 있나요?

扔个三星炸死你
扔个三星炸死你

모든 응답(4)
大家讲道理

먼저 이러한 종류의 기본적인 질문에 대해서는 공식 문서를 참조하는 방법을 배워야 합니다.
문서에 자세한 지침이 있습니다. new foo는 매개 변수를 전달하지 않고서만 사용할 수 있는 new foo()와 동일합니다.
물론, 문서를 완전히 신뢰할 수는 없습니다. 결국 js의 함정도 있습니다. .
그럼 차이점은 무엇인가요? 이
우선순위 요약에 자세한 설명이 있습니다. new(매개변수 목록 포함)의 우선순위는 19이고 new(매개변수 구분 없음)의 우선순위는 18이므로 new foo()가 먼저 실행됩니다

마지막으로 얼마 전 new f(), new f, new f.g(), new f().g() 등을 테스트한 다소 역겨운 인터뷰 질문에 대한 기사를 본 기억이 납니다. 우선순위 계산 문제, 직접 검색해 보세요

phpcn_u1582

MDN을 참고하세요

새 생성자[([인수])]

매개변수를 전달할 필요가 없는 경우 괄호()는 선택 사항입니다

洪涛

var mm = 함수(값){

으아악

}
var a = 새 mm(1) ;
console.log(a)
var b = 새 mm ;
console.log(b)

过去多啦不再A梦

생성자에 매개변수가 필요하지 않은 경우 괄호를 추가하는 것과 추가하지 않는 것에는 차이가 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿