当前位置: 首页 > news >正文

室内设计培训网站快手官方网站音乐人怎么做

室内设计培训网站,快手官方网站音乐人怎么做,通用软件开发,装修注意事项及细节创建对象的几种方式 利用对象字面量创建对象 const obj {}2.利用 new Object创建对象 const obj new Object()3.使用 构造函数实例化对象 function Fn(name) {this.name name} const obj new Fn(张三) console.log(obj.name); //张三为什么要用构造函数的形式&#xff1…

创建对象的几种方式

  1. 利用对象字面量创建对象
const obj = {}

2.利用 new Object创建对象

 const obj = new Object()

3.使用 构造函数实例化对象

function Fn(name) {this.name = name}
const obj = new Fn('张三')
console.log(obj.name); //张三

为什么要用构造函数的形式?

有同学可能会问:我们用对象字面量创建对象不是很方面快捷吗,为啥会出现构造函数这种繁琐的创建方式呢?
因为第1,2种方式只比较适用于我们需要创建少量对象时,而如果我们要创建很多个对象,且每个对象的属性有很多属性相同时,我们再用对象字面量去创建对象的话,就会显得代码很冗余了。如:
在这里插入图片描述
而我们使用构造函数创建的话,只需这样:

function Fn(name, age, gender) {this.name = namethis.age = agethis.gender = gender}const peiqi = new Fn('佩奇', 6, '女')const qiaozi = new Fn('乔治', 3, '男')const mon = new Fn('猪妈妈', 26, '女')const dad = new Fn('猪爸爸', 28, '男')

实例化对象时的new到底做了什么呢?

  1. 创建一个空对象
  2. 设置原型链: 把空对象的__proto__属性指向构造函数的prototype对象
  3. 执行构造函数:并进入构造函数Fn中执行操作,把this指向新创建的对象
  4. 返回对象(如果构造器没有手动返回对象,则返回第一步的对象)
function Fn(name, age, gender) {this.name = namethis.age = agethis.gender = gender}// 模拟new实例化过程function myNew(constructorFn, ...args) {const obj = {}obj.__proto__ = constructorFn.prototypeconst result = constructorFn.apply(obj, args)return typeof result === 'object' ? result : obj}const cat = new myNew(Fn, '机器猫', 28, '男')

为什么要执行第二点,即设置原理链

是为了共享构造函数原型中的属性和方法: obj.proto = constructorFn.prototype
在这里插入图片描述

function Fn(name, age, gender) {this.name = namethis.age = agethis.gender = gender}Fn.prototype.say = function () {console.log('sayHi');}function myNew(constructorFn, ...args) {const obj = {}//这样实例化出来的对象就可以使用原型对象中的属性和方法啦obj.__proto__ = constructorFn.prototypeconst result = constructorFn.apply(obj, args)return typeof result === 'object' ? result : obj}const cat = new myNew(Fn, '机器猫', 28, '男')

原型链总结

  • 每个构造函数都有一个prototype属性,该属性指向原型对象,原型对象用来给各个实例化对象共享属性和方法。
  • 每个实例化对象都有一个__proto__属性,该属性也指向原型对象。
http://www.15wanjia.com/news/161333.html

相关文章:

  • 网站自定义代码来个网站好人有好报
  • 甘肃省安装建设集团公司网站网页制作培训心得体会
  • 学院做网站的意义网站php怎么做
  • 网络有限公司做女装网站的如何用kali做网站渗透
  • 锦州网站建设婚纱网站布局ppt怎么做
  • 南京网站开发询南京乐识简述网站开发岗位及职务
  • 网站的形式wordpress 个人 主题
  • 销售网站建设推广华夏名网网站管理助手
  • 网站搜索算法开发电商网站
  • 男的做直播哪个网站好数字化转型对企业的影响
  • 江苏华悦建设集团网站wordpress 4.7.2 被黑
  • 上海新闻手机网站seo优化
  • 国家建设官方网站2019建设摩托官方网站
  • 做网站怎么租用服务器吗公司网站ICP怎么备案呢
  • 庐阳网站快速排名营销型企业网站建设方案
  • 用flash做的网站欣赏开发板和单片机的区别
  • 网站后台图片传不上去怎么办自助建站免费建站
  • 自己制作网站的方法商丘互联网公司
  • 网站图片设置隐私保护怎么下载单品商城网站源码
  • 做碳循环的网站心知天气Wordpress
  • 越南做网站服务器wordpress 主题 更改
  • dedecms物流企业网站模板(适合快递京东网站怎么做
  • 帝国cms获取网站地址远憬建站
  • 上海当地网站怎样建立一个公司网站
  • 无锡网站商城建设设备网站模板
  • 广州北京网站建设电商网站开发建设
  • 佛山网站搜索引擎优化php企业网站程序
  • 导航 网站 分析帮人做彩票网站
  • 网站运营工资业余学做衣服上哪个网站
  • 阿里云做网站官网网站本科