首页 > 解决方案 > 关于 Codewars Kata 中 Javascript 语法的问题

问题描述

我正在尝试完成这个 Kata:https ://www.codewars.com/kata/validate-sudoku-with-size-nxn/train/javascript 。给定一个大小为 NxN、N > 0 且 √N == 整数的数独数据结构,编写一个方法来验证它是否已正确填写。

他们给出了一些开始的措辞,其中一些我不明白。我相信我可以只用一个正常的功能来解决这个问题,但是他们给出的某些部分让我感到困惑。这是他们开始的内容:

var Sudoku = function(data) 
{
  //   Private methods
  // -------------------------



  //   Public methods
  // -------------------------
  return {
    isValid: function() {
      // YOUR SOLUTION

      return true;
    }
  };
};

特别是下面的行让我感到困惑。为什么他们提到私有和公共方法?isValid: function() 是关于什么的,它只是 Sudoku 函数中一个名为 isValid 的新函数吗?这样做的目的是什么?我必须这样做吗?

//   Private methods

//   Public methods

isValid: function() {

标签: javascriptarrays

解决方案


为什么他们提到私有和公共方法?

函数中的变量在该函数之外是不可访问的。

从函数返回的对象的属性.

isValid: function() 是关于什么的,它只是 Sudoku 函数中一个名为 isValid 的新函数吗?

这只是标准的对象初始化器语法。

isValid是属性名称。

function () { ... }是一个函数表达式,它是分配给该属性的值。

这样做的目的是什么?

它可以让您以一种清晰、易于管理的格式封装一堆功能,同时向它公开一个尽可能简单的界面。这最大限度地减少了其他代码的更改作为副作用干扰它。

我必须这样做吗?

不。


推荐阅读