关于javascript数组和内置方法的一些问题

A few questions surrounding javascript arrays, in-built methods

本文关键字:问题 方法 内置 javascript 数组 关于      更新时间:2023-09-26

![在此输入图像描述][1]

function setFood () {
   var empty = [];
   for (var x=0; x<grid.width; x++) {
      for (var y=0; y>grid.height; y++) {
          if (grid.get(x,y) === EMPTY) {
          empty.push({x:x, y:y}); 
      }
    }
  }
};

我在youtube上看了一段关于制作蛇游戏的视频,在创作者制作功能时发现了这一点。

现在我有几个问题,我真的很想知道答案,这样我就可以继续学习了。

第一:.get方法是什么?当我搜索它时,它在jQuery上给了我结果,但他曾在任何地方引用过jQuery库,那么它对javascript代码做了什么?什么是EMPTY?这是否也是javascript中的一个预编程术语,其含义与0或``null相同?最后。为什么创建者在他的推送方法中使用括号?这会将什么推入空数组?x:xy:y是什么意思?

我对所有的问题感到抱歉。只是除了编码社区本身,我没有其他人可以回答我的编码问题。

empty是一个数组,在var empty = [];中声明,而EMPTY只是另一个变量。Javascript区分大小写,因此它不是empty[]数组的别名。通常的做法是用UPPER大小写定义常量,这样就可以清楚地知道它们是什么。这实际上是一个变量,它包含一些表示空单元格的值。

CCD_ 9正在将JavaScript对象CCD_。CCD_ 11是用于对象的Javascript语法。该属性包含通过gridget()方法检索到的xy属性。

在这种情况下,grid是在代码的其他地方声明的Javascript对象。由于代码不在这里,我只能假设grid是一个保存蛇在其上移动的网格状态的对象,而get()是一种检索网格中元素状态的方法。

问题1:

我不知道.get()函数是从您共享的代码中定义的。它当然是而不是Array原型的一部分。

问题2:

EMPTY在JS中不是一个保留字,所以它很可能只是一个指向空变量(类似于jQuery的noop变量(的指针。它可能被定义为:

var EMPTY = '';

问题3:

{}在JS中定义了一个对象。将它们与push()组合使用将把值为xy的对象推送到empty阵列中。

首先,网格是一个具有高度和宽度等特性以及get等方法的对象。所以样本对象将是

var grid = {
    height: 100,
    width: 200,
    get: function(p, q){
        return xyz;
    }
}

EMPTY应该是一个有价值的

var EMPTY = null; //or 0 or ''

我们可以创建一个对象

var obj = {x:2, y:3};

{x:x,y:y}表示一个对象,其中x和y是当前值。