>类库下载 >其它类库 >JavaScript 연구 노트: 유형의 기능 확장

JavaScript 연구 노트: 유형의 기능 확장

大家讲道理
大家讲道理원래의
2016-11-07 16:22:281712검색

JavaScript를 사용하면 기능을 기본 유형으로 확장할 수 있습니다. 예를 들어 Object.prototype에 메서드를 추가하여 모든 객체에서 해당 메서드를 사용할 수 있도록 할 수 있습니다. 이 접근 방식은 함수, 배열, 문자열, 숫자, 정규식 및 부울 값에 동일하게 적용됩니다.

예를 들어 Function.prototype에 메소드를 추가하여 모든 함수에서 사용할 수 있도록 할 수 있습니다.

Function.prototype.method = function(name, func) {  this.prototype[name] = func;  return this;  
}

Function.prototype에 메소드 메소드를 추가한 다음 메소드를 추가합니다. 프로토타입을 작성할 필요 없이 method 메소드를 직접 호출합니다. 예를 들어 JavaScript에는 정수 유형이 없습니다. Number.prototype에 정수 메소드 클래스를 추가하여 이를 구현할 수 있습니다.

Number.method("integer", function(){    return Math[this < 0 ? &#39;ceil&#39; : &#39;&#39;floor&#39;](this);
});
console.log((-10 / 3).integer());   //out put -3

기본형에 메소드를 추가함으로써 언어의 표현력을 대폭 향상시킬 수 있습니다. JavaScript 프로토타입 상속의 동적 특성으로 인해 새 메소드는 메소드가 추가되기 전에 생성된 객체를 포함하여 모든 객체 인스턴스에 즉시 할당됩니다.

기본형의 프로토타입은 공개 구조체이므로 클래스 라이브러리 사용 시 주의가 필요합니다. 안전한 방법은 메서드가 존재하지 않는다고 확신하는 경우에만 메서드를 추가하는 것입니다. 예:

Function.prototype.method = function(name, func) {  if (!this.prototype(name)) {    this.prototype[name] = func;
  }  return this;
};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기