开发者

js 构造函数是被什么调用的?

开发者 https://www.devze.com 2023-05-24 07:56 出处:网络 作者:StackOverflow
小帅哥_637 开发者_JAVA技巧 1小时前 我的理解是,如果通过new运算符调用函数,函数的作用就是构造函数,调用结束会返回一个对象,这个对象的上级就是全局对象,因此可以理解为就是全局对象调用了构造函数,产生
小帅哥_637 开发者_JAVA技巧 1小时前

我的理解是,如果通过new运算符调用函数,函数的作用就是构造函数,调用结束会返回一个对象,这个对象的上级就是全局对象,因此可以理解为就是全局对象调用了构造函数,产生了新的下级对象。如果不使用new算符,就只是在全局对象上调用函数,这时函数中的属性的方法添加给全局对象。


deng1742 1小时前

Foo 函数只有在 var foo = new Foo("moment") 这种调用下,才能叫构造函数。此时会创建一个新的对象,Foo 函数中的 this 会指向这个新的对开发者_运维技巧象,如果 Foo 函数没有返回值(例子中就是这种情况),那通过构造形式调用的这个函数,就会返回刚刚新建的那个对象。


dodonet 1小时前

但是,如果你不通过 new开发者_开发百科调用,如:var notfoo = Foo("globalname") ,这就是个普通函数调用,并且没有返回值,所以 notfoo 其实是 undefined,并且此时 this 会绑定到全局对象上,此时全局对象会多一个属性 name,并且 name 的值为 "globalname"


沫沫妈咪 开发者_开发技巧 1小时前

new是一个运算符,具体谁调用了构造器应该是javascript内部做的,看起来像是那个空对象。


0

精彩评论

暂无评论...
验证码 换一张
取 消