您的位置:首页 > Web前端 > JavaScript

JavaScript--------instanceof

2012-09-30 19:22 204 查看
//alert(test.prototype);//alert(Object.prototype);//alert(Function.prototype);//alert(test.__proto__);//alert(Object.__proto__);//alert(Function.__proto__);//alert(Object.prototype.__proto__);//alert(Object.prototype.constructor);alert(Function.prototype.__proto__);alert(Function.prototype.__proto__.__proto__);alert(Function.__proto__===Object.__proto__);
alert(FunctioninstanceofFunction);//true
alert(FunctioninstanceofObject);//true
alert(ObjectinstanceofFunction);//true
functionFoo(){};
varfoo=newFoo();
alert(fooinstanceofFoo);//true
alert(fooinstanceofFunction);//false
alert(fooinstanceofObject);//true
alert(FooinstanceofFunction);//true
alert(FooinstanceofObject);//true
instanceof检测一个对象A是不是另一个对象B的实例的原理是:查看对象B的prototype指向的对象是否在对象A的[[prototype]]链上。如果在,则返回true,如果不在则返回false。不过有一个特殊的情况,当对象B的prototype为null将会报错(类似于空指针异常)。<script>Function.prototype.method=function(name,func){//mark_1this.prototype[name]=func;returnthis;};String.method("trim",function(){returnthis.replace(/^\s+|\s+$/g,'');});String.prototype.test=function(){returnthis+"你好";}alert("test".test());</script>
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: