为了账号安全,请及时绑定邮箱和手机立即绑定

不是很理解object和构造函数名的关系

不是很理解object和构造函数名的关系

蝴蝶刀刀 2019-02-26 17:24:03
function Person(n, a, g){    this.name = n;    this.age = a;    this.gender = g;    this.speak = function (){   //这里只是说明this,实际应该在prototype上定义对象方法        console.log(this);    };}//作为构造函数使用var o = new Person("Lily", 18, "F"); o.speak();  //Person {name: "Lily", age: 18, gender: "F"}//作为普通函数使用Person("Lily", 18, "F"); speak(); //Window正在看一段this的说明,提到上面这段函数时 作者解释“为什么11行得到的是Person...,而不是Object...。其实这里显示的本来就应该是构造函数的名字,如果你通过varo=;创建的对象,相当于o=newObject();,这时显示的才是Object...” 这句话看不明白 Object和这个有什么区别呢 这样解释是什么意思
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

你的疑惑只是不知道 new 关键字做了什么而已;
MDN官网有详细的解释,解释的其实非常详细了,个人就不献丑了
new运算符

查看完整回答
反对 回复 2019-03-07
  • 2 回答
  • 0 关注
  • 657 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信