그러나이 접근법은 대체 구조와 비교하여 몇 가지 단점이 있습니다 : var filter = function (범주, 값) { this.category = 카테고리; this.value = value; }; // var filter = function () {... ...} Filter.Prototype.CheckProduct = Function (제품) { // 수표를 실행합니다 반환 IS_MATCH; }
기능적 단점 :
var Filter = function( category, value ){ this.category = category; this.value = value; // product is a JSON object Filter.prototype.checkProduct = function( product ){ // run some checks return is_match; } };
var Filter = function( category, value ){ this.category = category; this.value = value; // product is a JSON object Filter.prototype.checkProduct = function( product ){ // run some checks return is_match; } };
프로토 타입 메소드는 여러 번 지정되어 있으며, 이는 불필요하고 성능이 발사 될 수 있습니다. 프로토 타입 방법 내에서 생성자의 변수는 예상치 못한 결과로 이어질 수 있습니다. 예 :
var Filter = function( category, value ){ this.category = category; this.value = value; // product is a JSON object Filter.prototype.checkProduct = function( product ){ // run some checks return is_match; } };
결론 :
첫 번째 구조는 스타일 적으로 유쾌 할 수 있지만 기능적 단점 및 범위 문제를 도입 할 수 있습니다. 일반적으로 잠재적 인 문제를 피하기 위해 생성자 함수 외부 (두 번째 구조에서와 같이) 외부의 프로토 타입 메서드를 할당하는 것이 좋습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3