我喜欢Mary live-codes a JavaScript game from scratch video,但我对她的概念验证的复杂性存在疑问。如果你在3:14暂停它,你可以看到她的开始代码包含在:
;(function() {
})();
为了命名一切。但在我看来,概念验证并不需要这种相当模糊的设置。在立即调用的匿名函数内部是:
var Game = function(canvasId) {
var canvas = document.getElementById(canvasId);
}
Game.prototype = {
}
window.onload = function() {
new Game('screen');
}
现在,只需要1行。我知道这一切都是家务管理,如果你想要超越概念验证,你需要所有这些脚手架,但所有这些都可以用一行代码编写:
var myCanvas = document.getElementById('myCanvas')
在这里我使用'myCanvas'代替var canvas和“screen”,因为学习者试图破译哪个部分是JavaScript关键字,哪个部分是用户自己的命名。我相信screen是一个JavaScript关键字。
原型是一个典型的JavaScript程序员会使用的原型,还是玛丽如此先进,以至于她当然使用它?换句话说,她的方法论是否过于先进而无法进行概念验证?我知道这有点延伸,因为概念验证可能是几行代码,而这可能是200。