老师,构造函数还可以这样写么?

老师,构造函数还可以这样写么?

var P = function (a) {

    ​    ​this.a = a;

        }

var p1 = new P(20);




为什么课程中没有讲到这种写法呀


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2021-09-23 15:10:48

同学你好,可以这样写。构造函数和普通函数其实是一样的,只是调用形式有区别。当使用new关键字调用时,我们称为构造函数:

https://img1.sycdn.imooc.com//climg/614c271d095be9c303530098.jpg

当不使用new时,称为普通函数:

https://img1.sycdn.imooc.com//climg/614c27350906260504900191.jpg

函数可以使用如下形式声明:

https://img1.sycdn.imooc.com//climg/614c27520993cd3703440094.jpg

那么构造函数也可以。

对于构造函数而言,var P = function (a) {}这种形式不如下面这种常见:

https://img1.sycdn.imooc.com//climg/614c2849092278bb02960090.jpg

同学简单了解一下即可。

祝学习愉快!

  • 提问者 qq_慕神8318241 #1

    那为啥工厂模式 要写成var P = function(){} 形式呢

    2021-09-23 15:18:19
  • 好帮手慕久久 回复 提问者 qq_慕神8318241 #2

    同学你好,工厂模式不是必须写成“var P = function(){} ”的形式,写成function P(){}也行,例如:

    https://img1.sycdn.imooc.com//climg/614c329f094d679808720694.jpg

    两种写法效果是一样的,只是写法略有区别。

    祝学习愉快!

    2021-09-23 15:54:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师