javascript - 初心者の方、プロトタイプの展開について基本的な質問をさせてください。アドバイスをいただけますか?
黄舟
黄舟 2017-05-18 10:58:53
0
3
524

1. コードの 3 行目が理解できません。
3 行目を実装する必要があり、プロトタイプ オブジェクトとして datasuper_robot に追加します。
なぜ SuperRobot.__proto__=data;
ではなく、 say.__proto__=data; ??
2.

ではないのでしょうか。 リーリー
黄舟
黄舟

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

全員に返信(3)
曾经蜡笔没有小新

リーリー

現時点で追加すべき人super等于什么?
是不是等于Fun内声明的a?
所以__proto_

いいねを押す +0
我想大声告诉你

このように書くことは、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 つの属性にアクセスできるため、通常はこのように展開することはお勧めできません

いいねを押す +0
我想大声告诉你

SuperRobot は単なるファクトリー関数であり、それが返すものがコアです

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート