游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服电话

    020-85534346

    电子邮件

    81058337@qq.com
  • 码云社APP

    随时掌握码云社动态

  • 扫描二维码

    关注砺锋微信公众号

JavaScript原型深入浅出

发布时期:2019-7-8 11:06
阅读:393 回复:0

不学会怎么处理对象,你在 JavaScript 道路就就走不了多远。它们几乎是 JavaScript 编程语言每个方面的基础。事实上,学习如何创建对象可能是你刚开始学习的第一件事。对象是键/值对。创建对象的最常用方法是使用花 ...

不学会怎么处理对象,你在 JavaScript 道路就就走不了多远。它们几乎是 JavaScript 编程语言每个方面的基础。事实上,学习如何创建对象可能是你刚开始学习的第一件事。

对象是键/值对。创建对象的最常用方法是使用花括号{},并使用表示法向对象添加属性和方法。

let animal = {}animal.name = 'Leo'animal.energy = 10animal.eat = function (amount) {  console.log(`${this.name} is eating.`)  this.energy += amount}animal.sleep = function (length) {  console.log(`${this.name} is sleeping.`)  this.energy += length}animal.play = function (length) {  console.log(`${this.name} is playing.`)  this.energy -= length}

现在,在我们的应用程序中,我们需要创建多个 animal。 当然,下一步是将逻辑封装,当我们需要创建新 animal 时,只需调用函数即可,我们将这种模式称为函数的实例化(unctional Instantiation),我们将函数本身称为“构造函数”,因为它负责“构造”一个​​新对象。

函数的实例化

function Animal (name, energy) {  let animal = {}  animal.name = name  animal.energy = energy  animal.eat = function (amount) {    console.log(`${this.name} is eating.`)    this.energy += amount  }  animal.sleep = function (length) {    console.log(`${this.name} is sleeping.`)    this.energy += length  }  animal.play = function (length) {    console.log(`${this.name} is playing.`)    this.energy -= length  }  return animal}const leo = Animal('Leo', 7)const snoop = Animal('Snoop', 10)

现在,无论何时我们想要创建一个新 animal(或者更广泛地说,创建一个新的“实例”),我们所要做的就是调用我们的 Animal 函数,并传入参数:name 和 energy 。这很有用,而且非常简单。但是,你能说这种模式的哪些缺点吗?

最大的和我们试图解决的问题与函数里面的三个方法有关 - eatsleep 和 play。 这些方法中的每一种都不仅是动态的,而且它们也是完全通用的。这意味着,我们没

TOOBUG(开发工程师)-本文作者
一个毫无志向的程序员,我就是我,不是toobug
393 0 2019-7-8 11:06
本文暂无评论,快来抢沙发!

扫一扫关注官方微信号

一手信息资讯权掌握尽在码云社

滚动新闻
CODESEEDING(码云社)一家致力于程序员成长、以内容为核心、以提问为引导的多元化成长社区。我们在线上为技术爱好者提供了一个优质的交流氛围环境,在线下同样和众多高校联合开办了技术沙龙品牌。
020-85534346
关注我们
  • 访问移动H5版
  • 官方微信公众号

码云社 - CODESEEDING 2.0© 2018-2019 码云社. TOOBUG ( 粤ICP备16114193号-3 )