JavaScript中一个函数引发的血案
			规则:
			1.所有的对象都有__proto__属性,指向他构造函数的原型
			2.函数具有prototype属性,指向该函数的prototype
			3.函数也是对象,所以函数也有__proto__属性,指向构造函数的原型,其构造函数即为Function函数
			4.所有的函数都是Function的实例
			5.所有函数的原型的__proto__都是Object的一个实例
			6.内置函数的构造函数是一个匿名函数,且没有prototype  如 Function,Array,Object
			7.JavaScript高级程序设计P110每个函数都是Function的实例
			function f(){};  //
			var f1 = new f();//
			var f0 = f.prototype.__proto__ ;//使f0指向f的原型的原型对象
			得出以下结论:
			1. f1.__proto__ == f.prototype   //规则1
			2. f.__proto__ == Function.prototype  //规则3 和 规则4
			3. f0.__proto__==f.prototype.__proto__.__proto__ == Object.prototype.__proto__==null  //规则5和规则1
			4. f.prototype.__proto__== Function.prototype.__proto__; Function.prototype.__proto__ == Object.prototype ;
			5. Function.__proto__  == Object.__proto__  //内置函数的构造函数是同一个函数
			6. Function.__proto__.__proto__ == Object.prototype   //内置函数的构造函数的构造函数是Object
			7. Object.prototype.__proto__ == null
			8. typeof(Function.__proto__) == "function"
			9. Function.__proto__ instanceof Function == false   //结合7,这证明instanceof不是要来检测实例的万无一失的方法或者规则 7是错误的,
			问题:instanceof是检测什么的;Function的__proto__是什么,既然是个函数那么为什么没有prototype属性。
                    
                
                
            
        
浙公网安备 33010602011771号