构造函数与普通函数的比较

在js中,用new关键字来调用定义的构造函数。默认返回的是一个新的对象具有构造函数定义的变量和方法。
先来写个构造函数的例子:
 
function Prince(name,age){
  this.gender="male";
  this.kind=true;
  this.rich=true;
  this.name=name;
  this.age=age;
}
Prince.prototype.toFrog=function(){
  console.log("Prince "+this.name+" turned into a frog.");
}
var prince=new Prince("charming",25);
prince.toFrog();//Prince charming turned into a frog.
prince.kind;//true

 

构造函数与普通函数的区别就是:
1、用new关键字调用
var prince = new Prince(“charming”,25);
2、函数内部可以使用this关键字(普通函数原则上不可以!因为普通函数的this相当于window)
在构造函数内部,this指向的是构造出的新对象。用this定义的变量货函数/方法,就是实例变量/实例函数/方法。需要用实例才能访问到,不能用类型名访问。
prince.age;//25
Prince.age;//undefined
3、默认不用return返回值
构造函数是不需要用return显示返回值,默认会返回this,也就是新的实例对象。当然,也可以用return语句,返回值会根据return值的类型而有所不同。
4、函数命名建议首个字母大写,与普通函数区分开。
不是命名规范,但是建议这么写。
 
 
附上一个普通函数:
    function common(){
         return("爱因斯然");
    }
    common();
//自行脑补构造函数和普通函数的区别

转载于:https://www.cnblogs.com/Yirannnnnn/p/4899281.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值