使用JavaScript对象创建Thanos的无限手套

在本文中,我将解释JavaScript对象, 属性方法 。 我们将使用JavaScript对象构建Thanos佩戴的超棒无限手套。 有什么比谈论无限手套更酷的解释方式?

最近我看了《复仇者联盟:无限战争》,我必须说,我完全被Thanos震撼了。 他真是个坏蛋。

他是一个紫色的外星人,和绿巨人一样大,但更加镇定和聪明。 他甚至没有使用无尽的石头就击败了绿巨人!

如果您还没有看过电影,那么您绝对应该为Thanos观看(由乔什·布洛林(Josh Brolin饰演,他还曾在Deadpool 2扮演Cable,而年轻的特工K在Black in Men 3中饰演)

足够好的电影,我们将使用JavaScript对象构建他强大的手套。 如果您仍在处理对象问题,建议您看一下我的其他文章JavaScript Objects Quickly Explained,以快速复习。

属性和方法

您一定不时听到这两个字。 如果我告诉您这些只是“数据和功能”的另一个好话呢?

让我们将Infinity Gauntlet创建为JS对象:

  const infinityGauntlet = {} 

吊环上装有6块无尽宝石,为它们提供动力。

让我们向对象中添加一个项目:

  const infinityGauntlet = { 
powerStone:控制宇宙中的所有力量。 它可以用来增加或抑制任何力量。
  } 

因此,我现在有了一个名为powerStone的属性,其中包含文本/字符串值。

如果在开发工具中输入infinityGaunlet.powerStone ,我将看到如下结果:

这称为属性。 属性可以是任何东西,可以是文本,数字,布尔值或什至另一个对象。

在JavaScript中,我们键入object.nameOfTheProperty来访问属性的值。

对象也可以具有功能。 在对象领域,函数称为方法

记得,

属性用于存储有关对象的数据。

方法是动作,它为对象做某事。

让我们创建一个使用该石头功能的函数。

我们可以这样写一个函数:

  const infinityGauntlet = { 
powerStone:“紫色”,
usePowerStone:function(){
返回“使用超强力量粉碎月亮并将其扔给复仇者!!”;
}
}

在ES6中,我们可以简化方法的编写方式。

所以代替这个:

  usePowerStone:function(){ 
返回“使用超强力量粉碎月亮并将其扔给复仇者!!”;
}

我们可以简单地这样写:

  usePowerStone(){ 
返回“使用超强力量粉碎月亮并将其扔给复仇者!!”;
}

如果我输入infinityGauntlet.usePowerStone()我们将得到结果:

您必须键入object.methodName()才能运行位于对象内部的方法。

因此,无限手套是黄色手套。 它不是随石头而来的。 您必须一一收集这些石头。

由于我们有6块石头,并且它们全部都有信息,并且可以执行某些操作,所以为什么不将这6块石头作为自己的对象。 (提示:您可以将对象添加为属性)这样可以更轻松地管理:

  const infinityGauntlet = { 
powerStone:{},
spaceStone:{},
RealityStone:{},
mindStone:{},
灵魂之石: {},
timeStone:{}
  } 

为了简单起见,让我们使用一块石头:

每块石头都有特殊的力量。 因此,这意味着您只有在拥有一块石头时才能使用电源。

让我们创建一个新属性来保存石头。 我们可以将其设为布尔值。

  const infinityGauntlet = { 
spaceStone:{
配备:假
}
}

我创建了一个名为false的新属性,它没有石头。

让我们创建一个info属性,其中存储有关该宝石的一些信息:

  spaceStone:{ 
配备:假,
信息:“对空间的无限操纵,允许进行隐形传送,尺寸操纵,虫洞的形成等。”
}

最后,让我们创建一个方法,以便我们可以使用石头:

 采用() { 
返回“做某事”;
}

但是,我们需要检查是否配备了石材!

所以我可以这样做:

 采用() { 
如果(配备了设备){
返回“创建一个虫洞,并在一分钟内将泰坦行星运送到Wakanda!”;
}其他{
返回“没有空格!”
}
}

this.equipped会检查自己equipped的财产是否有石头。 如果我们拥有一块石头,那么我们将调用力量,否则它将无法工作。

到目前为止,完整的代码如下所示:

因此,现在当我们没有石头时,(假)它将输出以下内容:

但是,当我们收集石头(真)时,它将输出以下成功消息:

现在,我将继续完成所有其他宝石,因为它们都具有相同的属性和方法:

这就是本文的相关内容。 您可以使用更酷的功能扩展手套吗? 随时这样做,让我知道!

对这篇文章有帮助吗? 请给它拍一下!

想从我这里了解更多? 在twitter @tamalweb上关注我,在这里我分享我的日常学习和建设经验; 还可以查看我的博客,在其中分享我在网络上构建的内容>> TamalWeb.com