Cet article présente en détail le code du processus de simulation d'un nouvel objet js. Comment l'objet est généré, à partir de là, nous pouvons également constater que si le constructeur renvoie explicitement un objet, l'objet renvoyé par new est l'objet renvoyé par le constructeur. En cas de réexécution, les autres types de données seront ignorés par new.
function Person(){ this.name=1234; // return {}; } Person.prototype.getname=function(){ console.log(this.name); } function CreateObj(){ var fn=[].shift.call(arguments); var args=arguments; var obj=new Object(); var ret=fn.apply(obj,args); obj.__proto__=fn.prototype; return typeof ret ==='object'?ret:obj; } var a=CreateObj(Person); console.log(a);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!