请问我按照工厂模式写的代码为何可以识别对象类型为Object呢?(是哪个地方写错了么?)
代码内容为:
<script>
function createPerson(name,age)
{
var o=new Object();
o.name=name;
o.age=age;
return o;
}
var person1=createPerson("haha",1);
var person2=createPerson("www",4);
alert(person1.name);
alert(person1 instanceof Object);
alert(person2 instanceof Object);
</script>
然后后面两个instanceof检测都弹出来true了。
我是新手十分不解T.T ……
这很正常啊 两个你的函数返回的对象o本就三Object类型的
你又把这个对象赋值给person,person无非也就保存了这个函数返回的对象
而且,instanceof 不是用来判断类型的 这是判断对象是否继承这个函数的prototype