Object() 생성자는 다음과 같이 볼 수 있습니다: var Object=new Function();
Array() 생성자는 다음과 같이 볼 수 있습니다: var Array=new Function();
....그런 다음:
Function() 생성자는 다음과 같이 볼 수 있습니다. var Function=new Function()?
직접 생성하시겠습니까?
프로토타입 체인의 최종 프로토타입 객체로 비슷한 네이티브 객체인 Object.prototype이 있는데, 어떻게 만들어졌나요? new Object()로도 생성됩니까? 하지만 Object.prototype이 JS 네이티브 시스템의 첫 번째 객체가 되어야 하지 않나요?
JS의 프로토타입 기반 사고방식을 더 이상 이해할 수 없는 것 같습니다. 조언 부탁드립니다...
学习ing2017-06-12 09:31:33
사실 이것은 닭과 달걀의 문제가 아닙니다. 함수 자체를 포함하여 모든 객체는 실제로 함수입니다. 먼저 프로토타입에 대해 이야기해 보겠습니다. 프로토타입은 생성자와 __proto__를 기반으로 하며 이 두 가지는 프로토타입 체인은 __proto__의 방향을 기반으로 하며, 근접성의 원칙을 기반으로 하여 함수가 생성됩니다. chain; 그래서 js는 시뮬레이션 언어이며, 이는 다른 언어와의 근본적인 차이점이기도 합니다!
我想大声告诉你2017-06-12 09:31:33
new를 통해 생성할 수 있는 객체(함수)와 new를 통해 생성해야 하는 모든 객체(함수)에는 차이가 있습니다.
Function, Object 등은 js 구현 과정에서 제공되는 것으로 간주할 수 있습니다. 프로토타입 체인을 구현하기 위해 브라우저는 이를 제공할 때 프로토타입 체인 구현에 따라 __proto__-->***.prototype
를 추가하는 것으로 이해됩니다. 기능. 이는 js 환경이 여러 가지 특수 객체(함수)를 제공하고, 이러한 객체(함수)를 사양에 위배되지 않도록 처리한다는 의미입니다.
첫 번째는 확실히 맞고, 두 번째는 제가 이해한 것입니다.