物件建立:
當一個函式物件被建立時候,Function建構器產生的函式物件會執行類似這樣的程式碼:
複製程式碼
複製程式碼
程式碼如下:
this.prototype={constructor:this};
複製程式碼
程式碼如下:
function F(){};
F.prototype={constructor: '1111'};
var o=new F();//o.constructor==='1111' true
複製程式碼
複製程式碼
程式碼如下:
//instanceof實作
function Myinstanceof(obj,type)
{
var proto=obj.__proto=obj.__proto=obj.__ 🎜>while(proto)
{
if(proto ===type.prototype)break;
proto=proto.__proto__;
}
return proto!=null;
}
function View(){} function TreeView(){} TreeView.prototype=new View();//TreeView.prototype.__proto__=TreeView.prototype 自動完成TreeView.prototype.constructor=TreeView;//修正constructor var view=new TreeView();//view.__proto__=TreeView.prototype 自動完成alert(view instanceof View); //truetrue查找到view.__proto__.__proto__時找到alert(view instanceof TreeView); //true 查找到view.__proto__時找到alert(Myinstanceof(view,View)); //true alert(Myinstanceof(view,TreeView)); //true