javascript - 초보자님, 프로토타입 확장에 대한 기본적인 질문을 드리겠습니다. 몇 가지 안내를 해주실 수 있나요?
黄舟
黄舟 2017-05-18 10:58:53
0
3
526

1. 세 번째 코드 줄이 이해되지 않습니다.
세 번째 줄은 super_robot에 프로토타입 객체로 추가하여 구현해야 합니다. super_robot添加 data作为原型对象。
那为什么不是 SuperRobot.__proto__=data;
而是say.__proto__=data; 그럼 왜 SuperRobot.__proto__=data;
가 아니고 say.__proto__=data;인가요??

2.🎜 으아아아
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답(3)
曾经蜡笔没有小新

으아아아

이번에는 누구를 추가해야 할까요super等于什么?
是不是等于Fun内声明的a?
所以__proto_.

我想大声告诉你

이렇게 작성하는 것은 확장으로 간주할 수 없는 super_robot의 프로토타입 체인을 다시 작성하는 것과 같습니다. 원래 super_robot.__proto__는 Function.prototype을 가리켰고, 다시 작성한 후에는 super_robot.__proto__가 들어오는 데이터 개체를 가리킨다고 할 수 있습니다. 다시 작성한 후에는 super_robot을 더 이상 실제 함수로 간주할 수 없습니다. 이제 호출, 적용, 바인딩 등과 같은 함수 프로토타입의 메서드를 사용할 수 없습니다.

으아악

확장하면 say.__proto__.name = name, say.__proto__.age = age라고 써야 하는데 이는 Function.prototype.name = name, Function.prototype.age = age와 동일합니다. 함수 인스턴스에 액세스할 수 있으므로 일반적으로 이와 같이 확장하지 않는 것이 좋습니다

我想大声告诉你

SuperRobot은 단지 공장 기능일 뿐이며, 그것이 반환하는 것은 핵심입니다

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