>  기사  >  웹 프론트엔드  >  JavaScript_javascript 기술에서 객체와 함수의 관계 요약

JavaScript_javascript 기술에서 객체와 함수의 관계 요약

WBOY
WBOY원래의
2016-05-16 18:45:38988검색

FunctioninstanceofObject와 ObjectinstanceofFunction은 모두 참입니다

1. Object를 특별한 "클래스"로 생각할 수 있으며 여기서 "클래스"는 Function

이므로 다음과 같이 이해할 수 있습니다. Object = Function () {} or Object = new Function(); 즉, Object는 Function의 인스턴스이므로 Object 프로토타입 체인에 Function.prototype이 포함되어 있으며 다음을 얻습니다. Function.prototype.isPrototypeOf(Object)가 true

2. 동시에 js에서는 모든 객체(js 언어 외부 객체 제외)가 Object의 인스턴스로 간주될 수 있으며 Function도 예외는 아니며 Function.prototype도 예외는 아니므로 Function = new Object(); = new Object()이므로 Object.prototype.isPrototypeOf(Function) 및 Object.prototype.isPrototypeOf(Function.prototype)은 모두 true입니다.

3. 보충: 함수 자체도 "클래스"입니다. 그러나 모든 "클래스"는 Funciton의 인스턴스이므로 FunctioninstanceofFunction; 동시에 모든 객체는 Object 클래스의 인스턴스이고, Object 자체도 객체이며, Object의 Object 인스턴스도 true입니다. 또한 Funciton 유형은 Object 유형의 "파생 클래스"이고, Function 클래스는 Object 클래스를 상속받아 Object 클래스의 "서브 클래스"라고 생각할 수도 있습니다.

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