首页 新闻 赞助 找找看

javascript深入了解

0
[待解决问题]

function Person(){}
var person = Person()
var person = new Person()


这三句代码什么区别

岛与_暮歌的主页 岛与_暮歌 | 菜鸟二级 | 园豆:202
提问于:2016-10-07 15:05
< >
分享
所有回答(4)
1

第一句:function用来修饰函数的,Person()表示一个函数,可以设置返回值或void不带返回值;

第二句:Person()表示调用该方法,然后返回一个 person值

第三句:new Person()表示实例化Person模型

心怀宇宙 | 园豆:643 (小虾三级) | 2016-10-08 08:46
1

第三句中,new其实是执行了多个步骤。

  1. 创建一个空对象,作为将要返回的对象实例
  2. 将这个空对象的原型,指向构造函数的prototype属性
  3. 将这个空对象赋值给函数内部的this关键字
  4. 开始执行构造函数内部的代码
授之以渔 | 园豆:1107 (小虾三级) | 2016-10-08 09:06
0

创建对象的三种方式

安得浮生半日闲 | 园豆:282 (菜鸟二级) | 2016-11-11 15:59
0

必须吐槽一下那三个回答

第一行代码是函数声明 声明了一个函数

第二行代码调用了Person函数 把值赋给了新声明了一个person变量 因为是空函数 这里person是undefined

第三行代码则是把Person当做构造函数来调用,返回一个继承自Person.prototype的对象

split | 园豆:221 (菜鸟二级) | 2017-05-17 11:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册