Js面向对象有哪些方式?
作者:鹏仔先生日期:2020-06-01 17:39:53浏览:1341分类:面试题
1.对象的字面量 var obj = {}
2.创建实例对象 var obj = new Object();
3.构造函数模式 function fn(){} , new fn();
4.工厂模式:用一个函数,通过传递参数返回对象。
function fn(params){var obj =new Object();
obj.params = params; return obj;},fn(params);
5.原型模式:function clock(hour){} fn.prototype.hour = 0; new clock();
首先,每个函数都有一个prototype(原型)属性,这个指针指向的就是clock.prototype对象。而这个原型对象在默认的时候有一个属性constructor,指向clock,这个属性可读可写。而当我们在实例化一个对象的时候,实例newClock除了具有构造函数定义的属性和方法外(注意,只是构造函数中的),还有一个指向构造函数的原型的指针,ECMAScript管他叫[[prototype]],这样实例化对象的时候,原型对象的方法并没有在某个具体的实例中,因为原型没有被实例。
猜你还喜欢
- 09-14 nvm常用命令有哪些?nvm如何切换node版本?nvm如何下载node?
- 08-19 使用HBuilderX将vue或H5项目打包app
- 07-15 小程序嵌入网页向小程序跳转并传参,微信小程序中实现公众号授权获取openId
- 10-25 js替换字符串某个字符,js修改字符串中指定字符
- 10-20 uniapp中text-indent不起作用,uniapp首行缩进不管用如何解决?
- 08-12 elemtnui 表格如何修改某行文字颜色
- 08-03 vue中调用百度地图 获取经纬度
- 04-30 object-fit:cover;在小程序中不起作用,小程序图片变形了如何处理
- 04-26 (安卓/IOS)APP调用H5事件,H5调用APP事件
- 04-26 css防止图片变形 object-fit: cover; 属性介绍
- 03-15 VUE中实现点击打印功能 vue网页打印 vue-easy-print
- 02-25 JS判断某个时间戳是否为当天时间
取消回复欢迎 你 发表评论:
- 搜索
- 最新评论
-
你很喜欢评论?访客 评论于:11-09 是呀是呀鹏仔先生 评论于:08-19 这个站长文章写的很详细呀!鹏仔先生 评论于:08-19 ajax和fetch的区别:(1)、ajax是利用XMLHttpRequest对象来请求数据的,而fetch是wi鹏仔先生 评论于:08-03 区别:1、fetch没有办法原生监测请求的进度,而ajax基于原生的XHR开发,可以监测;2、和ajax相比,fetch鹏仔先生 评论于:08-03 欢迎大家添加鹏仔的微信,备注前端或后端,加入微信技术交流群来摸鱼鹏仔先生 评论于:07-15 少写了在components写入vueEasyPrint访客 评论于:04-13 好用访客 评论于:02-28 好用访客 评论于:11-16 生成事件建议写在this.$nextTick(()=˃{})里面访客 评论于:11-11
- 随机tag
暂无评论,来添加一个吧。