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

数据网站模板网络营销策略的演变

数据网站模板,网络营销策略的演变,好项目寻找个人投资,室内设计网站官网大全什么是原型(对象) 在JavaScript中,每个对象都具有一个原型对象prototype,目的是:利用原型对象实现在同一原型链中的原型方法共享 在理解原型对象前,需要先了解什么是构造函数 构造函数 用来初始化对象的…

什么是原型(对象)

在JavaScript中,每个对象都具有一个原型对象prototype,目的是:利用原型对象实现在同一原型链中的原型方法共享

在理解原型对象前,需要先了解什么是构造函数

构造函数

用来初始化对象的特殊函数,通过new 对象名(参数)来创建对象实例

构造函数实例化过程:

        1. 通过new创建一个空的对象{}

        2. 构造函数的this指向改对象

        3. 指向构造函数,向该对象赋值

        4. 返回新对象

//构造方法
function Parent(name, age) {this.name = name;this.age = age;this.fn = function () { }
}//创建实例
const parent = new Parent('张三', 18);

原型

  • 每一个构造函数都有一个prototype属性,该属性指向该函数的原型对象
  • 原型对象中的属性对其构造函数实例化的对象共享
  • 可以将共用的方法写在prototype中,保证对象实例不会多次创建函数,节省内存
  • 构造函数和原型对象中的this都指向实例对象
//构造方法
function Parent(name, age) {this.name = name;this.age = age;this.fn = function () { }
}
Parent.prototype.fn2 = function () { }
//创建实例
const p1 = new Parent('张三', 18);
const p2 = new Parent('李四', 19)
console.log(p1.fn2 === p2.fn2) // true

 constructor属性

在每个prototype属性中,都有一个constructor属性,它指向该原型的构造函数

作用:

        方便在给原型对象一次性进行多次赋值时,将原型指回其构造函数

对象原型__proto__

  • 每个实例对象中都有一个__proto__属性,该属性指向其实例的原型对象
  • 正是因为有__proto__的存在,才能使得实例对象可以访问构造函数原型对象中的方法

 总结

  • 构造函数通过prototype指向它的原型对象
  • 原型对象通过constructor指向它的构造函数
  • 通过构造函数实例化的对象中的__proto__属性,指向其构造函数的原型对象

原型继承

根据原型的特性,可以实现对象之间的继承

上述代码,Woman构造函数公共prototype继承了Person对象,使得所有由Woman实例化出来的对象,都可以使用Person对象中的属性。
通过prototype 接收 new Person实例,保证所有子类不会影响父类中的结构
而在Woman构造函数中,可以编写Woman私有的属性

弊端,若父类中定义了引用数据类型,被子类实例的对象所修改,由于他们共同引用同一地址,其他子类也会受到影响

构造函数继承 

想要解决上述问题,可以通过在子类创建实例时去执行父类构造函数,并修改this指向为子类实例

 组合式继承

结合原型链继承和构造函数继承,弥补了两者的缺点

 原型链查找

 每个原型对象proptotype中也有一个__proto__属性,它指向其上一级的原型对象

通过这一属性,可以得到一条原型链的查找规则

  1. 每当需要访问一个对象中是否存在一个属性时
  2. 先去该实例对象中的私有属性中进行查找
  3. 若没查到,通过实例对象中的__proto__属性去实例对象的原型prototype中进行查找
  4. 若还没查到,则根据prototype属性去它的上一级原型中进行查找
  5. 直到查到Object的原型对象中
  6. 最终Object的prototype的__proto__属性指向null

利用instanceof方法可以查找某实例对象的原型是否在某个原型链中

Class

class作为es6中原型的语法糖,极大的简化了原型以及原型继承的写法

http://www.tj-hxxt.cn/news/68043.html

相关文章:

  • 个人做搜索网站违法吗简单网页制作成品和代码
  • 网站怎么做国际化线上营销方式6种
  • 建湖做网站需要多少钱uc推广登录入口
  • 全屏网站 欣赏软文范例大全1000字
  • php网站开发实例教程 传智播客楚雄seo
  • 关于网站排名优化需要怎么做网络广告的类型有哪些
  • 阿里巴巴网站上面产品描述一般怎么做的宣传软文模板
  • 深圳500强企业名单南昌seo排名
  • 今网科技网站建设郑州网络推广厂家
  • 鲜花网站建设在线超级外链工具
  • 怀安网站制作电子商务推广
  • 广告设计适合什么人学宁德seo
  • 社保网站上20号做的新增酒泉网站seo
  • 发布网站要搭建什么站点
  • 网站 改域名seo修改器
  • 做封面的网站在哪里百度极速版推广
  • 济南建站方案电销系统
  • 大型图片库网站建设深圳高端seo公司助力企业
  • 深圳建网站技术百度搜索推广登录入口
  • 龙岗网站建设深圳信科个人博客登录入口
  • 江苏网站推广公司免费发布推广的网站
  • 效果图制作公司哪家好seo关键字排名
  • 网站建设公司服务seo图片优化的方法
  • 什么网站做视频最赚钱视频号怎么推广流量
  • 域名解析后怎么做网站专业的网页制作公司
  • 西宁企业网站营销推广武汉关键词排名工具
  • 优秀网站建设报价国内十大搜索引擎网站
  • 公司申请网站需要哪些材料优化营商环境条例
  • 拼多多关键词推广seo网络推广机构
  • 每天4元代发广告重庆seo薪酬水平