首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这叫什么(JS)?

问这叫什么(JS)?
EN

Stack Overflow用户
提问于 2019-12-09 23:22:52
回答 3查看 96关注 0票数 3
代码语言:javascript
复制
var logic = {
    Rock: { w:"Scissors", l:"Paper"},
    Paper: {w:"Rock", l:"Scissors"},
    Scissors: {w:"Paper", l:"Rock"},
};

它的用途如下:

代码语言:javascript
复制
logic[playChoice].w === rndChoice

它是在JS岩石剪刀的例子中发现的,奇怪的是什么叫逻辑。

如果这地方不对请告诉我..。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-12-09 23:31:41

如果您询问在名为logic的变量中使用的确切的javascript结构,则存储数据,即通过对象文本创建的嵌套* object。

(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer)

*:意思是,存储在对象中的值也是对象本身。

如果您对更一般的答案感到好奇,那么为键分配值的东西通常被称为maps。(当这些值是从零开始的连续数字时,我们实际上得到了一个array。)

我强烈建议你阅读这篇文章,以便更好地理解:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

票数 2
EN

Stack Overflow用户

发布于 2019-12-09 23:37:27

给予:

代码语言:javascript
复制
var logic = {
    Rock: { w:"Scissors", l:"Paper"},
    Paper: {w:"Rock", l:"Scissors"},
    Scissors: {w:"Paper", l:"Rock"},
};

logic[playChoice].w === rndChoice

logic是一个对象。只是一个具有属性Rock、Paper和Scissors的常规对象。这些属性中的每一个都是对象,每个属性都具有win属性(w)和丢失属性(l)。这些属性被设置为每个可用输入的字符串值。

比较(===)使用两个以前未定义的变量,即由播放机提供的playChoice和由计算机提供的rndChoice。如果w属性中playChoice中的对象的rndChoice属性等于rndChoice,则比较为真,并且玩家赢得了这一轮。

例如:

我们玩Rock

  • The电脑打Scissors

  • The左边的比较得到logic["Rock"]的w属性,或者"Scissors"

  • the左边匹配由计算机

  • 选择的右侧比较是正确的,玩家已经赢了

。

票数 4
EN

Stack Overflow用户

发布于 2019-12-09 23:36:13

这里的逻辑是用给定的键访问对象“逻辑”的属性。

这里的对象“逻辑”是一个嵌套的对象,其中键本身也是对象。

如果是playChoice === Rock,那么我们将从逻辑对象访问Rock对象,并从Rock获取"w“属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59258050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档