javascript - Novice, izinkan saya bertanya soalan asas tentang pembangunan prototaip Bolehkah anda memberi saya sedikit panduan?
黄舟
黄舟 2017-05-18 10:58:53
0
3
496

1. Baris ketiga kod tidak difahami.
Baris ketiga harus dilaksanakan Tambahkan data ke super_robot sebagai objek prototaip. super_robot添加 data作为原型对象。
那为什么不是 SuperRobot.__proto__=data;
而是say.__proto__=data; Kalau begitu kenapa bukan SuperRobot.__proto__=data;
tetapi say.__proto__=data ??

2.🎜
function SuperRobot(data) {
    var say = function() { return "Hello World!"; };
    say.__proto__=data;
    return say;
}

var data = { name:"atom", age: 5};
var super_robot = SuperRobot(data);

console.log(super_robot());            //Hello World!
console.log(super_robot.age);        //5
console.log(typeof super_robot);     //function
黄舟
黄舟

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

membalas semua(3)
曾经蜡笔没有小新
function Fun(){
    var a = {};
    return a;
}
var super = Fun();

Siapa yang patut ditambah pada masa inisuper等于什么?
是不是等于Fun内声明的a?
所以__proto_.

我想大声告诉你

Menulis seperti ini bersamaan dengan menulis semula rantaian prototaip super_robot, yang tidak boleh dianggap sebagai sambungan Pada asalnya, super_robot.__proto__ menghala ke Function.prototype boleh dikatakan bahawa selepas menulis semula, super_robot telah pun Ia tidak lagi boleh dianggap sebagai fungsi sebenar Kini ia tidak boleh menggunakan kaedah pada prototaip Fungsi, seperti memanggil, memohon, mengikat, dll.

.
console.log( super_robot instanceof Function ); // false
console.log( super_robot.call ); // undefined

Jika anda melanjutkannya, anda harus menulis say.__proto__.name = nama, say.__proto__.age = umur, yang bersamaan dengan Function.prototype.name = nama, Function.prototype.age = umur, tetapi ini akan membuat semua instance fungsi Kedua-dua atribut ini diakses, jadi secara amnya tidak disyorkan untuk melanjutkan seperti ini

我想大声告诉你

SuperRobot hanyalah fungsi kilang, apa yang dikembalikan adalah teras

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!