javascript - 关于 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() {
解决方案
为什么他们提到私有和公共方法?
函数中的变量在该函数之外是不可访问的。
从函数返回的对象的属性是.
isValid: function() 是关于什么的,它只是 Sudoku 函数中一个名为 isValid 的新函数吗?
这只是标准的对象初始化器语法。
isValid
是属性名称。
function () { ... }
是一个函数表达式,它是分配给该属性的值。
这样做的目的是什么?
它可以让您以一种清晰、易于管理的格式封装一堆功能,同时向它公开一个尽可能简单的界面。这最大限度地减少了其他代码的更改作为副作用干扰它。
我必须这样做吗?
不。
推荐阅读
- algorithm - 找到一个连续的子数组,它加起来是一个目标数,并使用分治法打印出子数组
- ios - 如何获取 AVDepthData 对象中的子像素差异
- python - 如何将 pandas 中的格式应用于导出的 excel 文件(特别是尝试填充空白单元格)
- java - 如何在 JSONArray 上应用平面图并在 Spark 中转换为 JSONObject?
- node.js - 浏览器同步不工作权限问题
- flutter-web - 如何选择文件
- javascript - DeviceMotionEvent 的 IOS safari 13.1 权限
- angular - 创建一个指令来监视角度生命周期钩子
- batch-file - .vbs 脚本在批处理文件中运行,但在通过任务调度程序运行时不运行
- c# - 与 Xamarin.Forms Android 项目建立 WebSocket4Net 连接时遇到问题