电 话:0

手 机:0

联系人:刘先生

E_mail:2074917417@qq.com

地 址:成都市金牛区

您当前的位置是:主页 > 行业资讯 > news >

news

构造函数与其他函数的区别

发布时间:2022/01/11 丨 文章来源:未知 丨 浏览次数:

构造函数与其他函数的唯一区别,就在于调用它们的方式不同。不过,构造函数毕竟也是函数, 不存在定义构造函数的特殊语法。任何函数,只要通过new操作符来调用,那它就可以作为构造函数;而任何函数,如果不通过new操作符来调用,那它跟普通函数也不会有什么两样。南昌网络公司技术员举例说明:例如,前面例子中定义的Person()函数可以通过下列任何一种方式来调用:

//当作构造函数使用

var person=new Person("Nicholas",29,"Software Engineer");

person.sayName(); //“Nicholas"

//作为普通函数调用

Person("Greg",27,"Doctor"); //添加到window

window.sayName(); //"Greg"

//在另一个对象的作用域中调用

var o=new Object();

Person.call(o,"Kristen",25,"Nurse");

o.sayName(); //"Kristen"

这个例子中的前两行代码展示了构造函数的典型用法,即使用new操作符来创建一个新对象。接下来的两行代码展示了不使用new操作符调用Person()会出现什么结果:属性和方法都被添加给wind。w对象了。有读者可能还记得,当在全局作用域中调用一个函数时,this对象总是指向Global对象(在浏览器中就是window对象)。因此,在调用完函数之后,可以通过window对象来调用sayName()方法,并且还返回了"Greg"。最后,也可以使用call()(或者apply())在某个特殊对象的作用域中调用Person()函数。这里是在对象O的作用域中调用的,因此调用后O就拥有了所有属性和sayName()方法

本文仅限于南昌网站设计公司网络内容技术人员查看,请勿作其他商业用途. 文章出自:南昌网络公司-网络 http://www.huicuiwang.cn 如转载请注明出处!


PS:所有作品版权归原创作者所有,与本站立场无关,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理!


网站首页 | app开发| 小程序开发| SEM竞价托管| 行业资讯

扫码关注我们