JSwhite 2017-03-04 07:15 采纳率: 0%
浏览 1334

关于工厂模式的对象识别问题

请问我按照工厂模式写的代码为何可以识别对象类型为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 ……求大神指导

  • 写回答

4条回答 默认 最新

  • qq_38177793 2017-04-04 03:18
    关注

    你这个说的应该是JavaScript高级程序设计里面的问题。
    书上指的没有解决对象识别问题,不是指个。
    指的是alert(person1 instanceof createPerson);//false
    因为o对象是在createPerson中重新定义的new Object(),因此createPerson就不是o对象的原型了。而构造函数就解决了这个问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式