开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 7045|回复: 2
收起左侧

[转载教程] 通过易入门JavaScript22-多功能构造函数

[复制链接]
结帖率:43% (12/28)
发表于 2020-2-6 01:39:21 | 显示全部楼层 |阅读模式   四川省广安市
本帖最后由 什么叫易 于 2020-2-6 21:43 编辑

在线观看

实现多功能的构造函数

原型和闭包不能共同应用。导致有私有属性公有属性的同时避免不了内存占用,因为原型访问不到函数里面。

函数也是对象,也可以拥有属性或方法。但他们本身的处理模式不一样。

JS构造函数

构造函数实现经典的面向对象

深入剖析JS类

//声明一个"人"的构造函数,目的是通过new出来的对象都是一个个的具体的"人"
var Person=function(){

  //私有属性,该属性new出来的对象时无法获取到的.
  var prx="other";

  //定义了eye的属性
  //在这里eye是实例属性,也就是说,通过new出来的对象都具备eye的属性
  this.name="double";

  //我们用var 申明了一个私有方法,该方法 不能被 new Person 调用到,
  //一般的,我们只需要再内部使用到的方法可最好声明称私有方法.
  var prxMethond=function(){
      console.log("in prxMethod");
  }
  //定义了say的方法
  //同eye,say是一个实例方法,new出来的对象都有say的方法
  this.say=function(){
    console.log("hi i am "+this.name);
   }
}
//为Person定义了一个原型方法eat,该方法为公共方法,
//每一个通过new Person 实例出来的对象都共享同一个eat方法,
//当然如果不想共享可在新对象中进行重写覆盖
Person.prototype.eat=function(){
  console.log(this.name+"eat something...");
}
//定义静态方法,该方法目的在于不用new Person 就能调用该方法,
//我们把不用实例化就能调用的方法叫做静态方法
Person.staticMethod=function(){
  console.log("this is static method");
}

构造函数的返回值

构造函数默认情况下,返回this对象。

列表不方便,具体可看我的贴子。


头像被屏蔽
结帖率:83% (15/18)
发表于 2020-2-6 21:08:44 | 显示全部楼层   广东省茂名市
谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2020-2-6 14:52:00 | 显示全部楼层   北京市北京市
不错啊不错啊不错啊不错啊不错啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表