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

怎么做房产网站万网域名购买

怎么做房产网站,万网域名购买,wordpress整站搬家首页空白问题,企业管理系统项目经历怎么写简历范文文章目录概念执行过程返回值原型与constructor继承方式原型链其他继承方式(还没写)参考概念 在JS中,通过new来实例化对象的函数叫构造函数。实例化对象,也就是初始化一个实例对象。构造函数一般首字母大写。 构造函数的目的&…

文章目录

    • 概念
    • 执行过程
    • 返回值
    • 原型与constructor
    • 继承方式
      • 原型链
      • 其他继承方式(还没写)
    • 参考

概念

在JS中,通过new实例化对象的函数叫构造函数。实例化对象,也就是初始化一个实例对象。构造函数一般首字母大写。

构造函数的目的:创建对象。

创建对象有两种方法:

  • 构造函数+prototype
  • class

这里我们只讲前者。

执行过程

构造函数的执行过程其实是new操作符的基本过程。

过程

  • 创建一个新对象,在内存中创建一个新地址
  • 继承原型
  • 改变构造函数的this指向,指向新创建的对象
  • 新对象添加构造函数的属性和方法
  • 根据构造函数的返回类型作判断,若是原始值则忽略,若是返回对象则正常处理

举例说明:

有构造函数Person:

function Person(name, age) {this.name = name;this.age = age;
}

用new创建对象:

let p1 = new Person('kitty', 1);

执行的过程(供理解,真实情况应该更复杂):

function Person(name, age) {// 在内存中创建新地址let p1 = {};// 继承原型p1.proto = Person.prototype// 改变构造函数this的指向,添加属性和方法this.name = name;this.age = age;// 返回thisreturn this
}

返回值

构造函数中,不要显示地返回任何值

若构造函数返回值为原始值:还是返回实例对象。

function Person(name) {this.name = name;return 'a'
}let p1 = new Person('Kitty');
console.log(p1) //Person { name: 'Kitty' }

若构造函数返回值为对象:返回的是构造函数return的对象,而不是Person对象

function Person(name) {this.name = name;return {name:'suga'}
}let p1 = new Person('Kitty');
console.log(p1) //{ name: 'suga' }
console.log(p1 instanceof Person)//false

原型与constructor

函数的原型与对象的原型:看这里【JavaScript高级】原型和继承相关:原型对象、函数原型、原型链和继承、继承的优化、对象判断相关方法

new 构造函数来创建对象后,创建出来的对象实例的proto属性会指向构造函数的prototype

function Person() {}
var p1 = new Person()// 上面操作相当于会进行如下的操作
p1.__proto__ = Person.prototype

constructor:函数的原型对象上的属性constructor会指向当前的函数对象。

即:

Person.prototype.constructor===Person //true

在这里插入图片描述

继承方式

原型链

当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会通过它的__proto__隐式属性,找到它的构造函数的原型对象,如果还没有找到就会再在其构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链

  • Parent是父构造函数,Child是子构造函数
  • Child.prototype = new Parent(),子构造函数的原型为父构造函数的实例,相当于继承了父构造函数
  • 想要调用child的getName(),但它本身没有这个方法,于是在 它的原型 上找
function Parent() {this.name = 'a'
}Parent.prototype.getName = function () {console.log(this.name)
}function Child() { }//重点
Child.prototype = new Parent()var child = new Child()console.log(child.getName())//a

缺点:

  • 引用类型的所有属性都被实例共享
  • 创建Child实例的时候无法向Parent传参

其他继承方式(还没写)

参考

JS——构造函数_前端魔法师的博客-CSDN博客_js构造函数写法

js的构造函数理解_laviniatu的博客-CSDN博客_构造函数js

JS中构造函数的原型prototype_吗吗哈哈的博客-CSDN博客_js构造函数的prototype

【JavaScript高级】原型和继承相关:原型对象、函数原型、原型链和继承、继承的优化、对象判断相关方法_karshey的博客-CSDN博客

一文搞懂JS原型与原型链(超详细,建议收藏) - 掘金 (juejin.cn)

http://www.hkea.cn/news/586452/

相关文章:

  • 高端网站设计报价表个人网上卖货的平台
  • 广州网站优化推广公司网站优化排名资源
  • 济南网站建设大标网络企业seo服务
  • net域名大网站东莞关键词自动排名
  • 做企业平台的网站怎样进行网络营销吸引顾客
  • 天河网站 建设seo信科分公司谷歌搜索引擎网址
  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化
  • 白云做网站SEO市场营销策略有哪些
  • 做网站用lunx怎么建立一个网站
  • 电商网站开发定制百度推广优化排名
  • 网站备案 法人身份证cba最新消息
  • 做公司网站需要什么手续厦门seo网站优化
  • 合肥本地网站网站关键词公司
  • 武汉电商网站建设seopc流量排行榜企业
  • 如何给给公司建立网站seo商学院
  • 让建站公司做网站需要什么最新腾讯新闻
  • 网站开发的意义搜索关键词排名优化
  • 如何建一个论坛网站怎么做营销推广
  • 元凤建盏简介青岛seo
  • 营销型网站套餐cps游戏推广平台
  • 哪些网站做ip向小说网络营销公司经营范围
  • 蜜芽免费网站域名关键词网站排名查询
  • 网站备案要到哪里下载关键词在线挖掘网站
  • 跨境电商开发seo的优化策略有哪些
  • 做网站的费用 优帮云百度广告代运营
  • wordpress儿童卡通主题兰州网站seo服务
  • 8网站建设做网站sem优化师是什么意思
  • 设计师个人网站怎么做百度优化培训