我正在尝试完成以下Kata:https://www.codewars.com/kata/validate-sudoku-with-size-nxn/train/javascript。 给出大小为NxN,N> 0和√N==整数的Sudoku数据结构,编写一种方法来验证它是否已正确填写。
他们从开始就给出了一些措辞,其中有些我不理解。我相信我可以使用正常功能解决此问题,但是他们给出的某些部分使我感到困惑。他们从这里开始:
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() {
答案 0 :(得分:2)
为什么他们提到私有和公共方法?
该函数中的变量无法在该函数外部访问。
从函数返回的对象的属性是。
isValid:function()是什么,仅仅是Sudoku函数中一个叫做isValid的新函数?
这只是标准的object initializer语法。
isValid
是属性名称。
function () { ... }
是一个函数表达式,它是分配给该属性的值。
这样做的目的是什么?
它使您可以以清晰易管理的格式包装一堆功能,同时向其公开尽可能简单的接口。这样可以最大程度地减少其他代码的影响,以免产生副作用。
我必须那样做吗?
否。