/*
1. instanceof 是如何判断的
表达式 A instanceof B
如果B函数的显示原型对象在A对象的原型链上 返回 true 否则返回 false
2. Function 是通过 new 自己产生的实例
*/functionFoo(){}const f1 =newFoo()console.log(f1 instanceofFoo);console.log(f1 instanceofObject);console.log(Foo instanceofFunction);console.log(f1.__proto__);// false// console.log(Object instanceofFunction);console.log(Object instanceofObject);console.log(FunctioninstanceofFunction);console.log(FunctioninstanceofObject);console.log(Object instanceofFoo);// false
functionA(){}A.prototype.n =1var b =newA()A.prototype ={
n:2,
m:3}var c =newA()varF=function(){}
Object.prototype.a=function(){console.log("a()");}Function.prototype.b=function(){console.log("b()");}var f =newF()
f.a()// 输出//f.b() // not a functionF.a()// 输出F.b()// 输出