1. コードの 3 行目が理解できません。 3 行目を実装する必要があり、プロトタイプ オブジェクトとして data を super_robot に追加します。 なぜ SuperRobot.__proto__=data; ではなく、 say.__proto__=data; ??2.
data
super_robot
SuperRobot.__proto__=data;
say.__proto__=data;
人生最曼妙的风景,竟是内心的淡定与从容!
リーリー
現時点で追加すべき人super等于什么?是不是等于Fun内声明的a?所以__proto_。
super
Fun
__proto_
このように書くことは、super_robot のプロトタイプチェーンを書き換えることに相当し、本来は super_robot.__proto__ が Function.prototype を指していたと言えます。書き換えると、super_robot は実際の関数とみなされなくなり、call、apply、bind などの Function プロトタイプのメソッドを使用できなくなります。 リーリー
SuperRobot は単なるファクトリー関数であり、それが返すものがコアです
リーリー
現時点で追加すべき人
super
等于什么?是不是等于
Fun
内声明的a?所以
__proto_
。このように書くことは、super_robot のプロトタイプチェーンを書き換えることに相当し、本来は super_robot.__proto__ が Function.prototype を指していたと言えます。書き換えると、super_robot は実際の関数とみなされなくなり、call、apply、bind などの Function プロトタイプのメソッドを使用できなくなります。 リーリー
これを拡張する場合は、say.__proto__.name = name、say.__proto__.age = age と書く必要があります。これは Function.prototype.name = name、Function.prototype.age = age と同等ですが、これによりすべてが作成されます。関数インスタンスは 2 つの属性にアクセスできるため、通常はこのように展開することはお勧めできませんSuperRobot は単なるファクトリー関数であり、それが返すものがコアです