//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(Function instanceof Function);//true
alert(Function instanceof Object);//true
alert(Object instanceof Function);//true
function Foo() {};
var foo = new Foo();
alert(foo instanceof Foo); // true
alert(foo instanceof Function); // false
alert(foo instanceof Object); // true
alert(Foo instanceof Function); // true
alert(Foo instanceof Object); // true
instanceof 检测一个对象A是不是另一个对象B的实例的原理是:查看对象B的prototype指向的对象是否在对象A的[[prototype]]链上。如果在,则返回true,如果不在则返回false。不过有一个特殊的情况,当对象B的prototype为null将会报错(类似于空指针异常)。
<script>
Function.prototype.method = function(name,func){
//mark_1
this.prototype[name] = func;
return this;
};
String.method("trim",function(){
return this.replace(/^\s+|\s+$/g,'');
});
String.prototype.test=function()
{
return this+"你好";
}
alert(" test ".test());
</script>