什么时候阅读/理解算法和编程逻辑变得不困难

zki*_*idd 4 javascript algorithm programming-languages

我已经学习了一个半星期的JS教程(Lynda.com和HeadFirst系列).事情很普遍,但JS对我来说并不像HTML/CSS那么容易.当我看到非常简单,初学者,代码(例如Lynda.com的教程,你创建一个宾果卡)时,我很难真正阅读代码中的逻辑参数表示.我的猜测是,如果我没有解决这个问题,那么我试图学习的任何其他语言都是不可能的,更不用说我不会很好地学习JS--或者根本就没有.

那么有人可以建议一个提供有关算法的基本指导的书籍/网站吗? 或者,我只是太不耐烦了几个星期后,事情应该解决,代码会更有意义.

这是一个仍然预先准备的愚蠢基本代码示例.

function newCard() {
    if (document.getElementById) {
        for (var i=0; i<24; i++) {
            setSquare(i);
        }
Run Code Online (Sandbox Code Playgroud)

Orb*_*ing 6

HTML/CSS是文档描述语言,一种表示视觉结构和信息的方式,它们不是编程语言.

JavaScript本身不一定是一种简单的语言,所以请放轻松,您可以使用基本的编程入门书.

尝试按顺序将您正在阅读的内容逐行转换为英语.语法,符号和编写方式可能是混淆的主要原因,因为您不熟悉它们.那些不习惯代数恐慌的人在看到它时会发出一声"我永远不明白,你怎么读它?"的呼喊. - 随着时间的推移你会习惯.

拿这个简单的代码:

1 for (var i=0; i<24; i++) {
2    setSquare(i);
3 }
Run Code Online (Sandbox Code Playgroud)

第1行:"for-loop"

循环是一段代码(用大括号表示{}),重复到某一点.在for循环的情况下,有3个控制循环的设置(参数).

第一个用于初始化,启动条件,在这种情况下将新变量设置i0,i=0.

第二个是它告诉循环是否继续运行的条件,并在每次循环重新开始时进行检查.这里的条件是i < 24,当变量i小于(<)24时继续前进.

最后一部分是一个增量,无论最后一部分发生什么,每个列表发生一次.在这种情况下,在列表的末尾,在下一个循环之前.i++表示增加i1,速记为i = i + 1.

所以循环运行多次,i从0开始,每次增加1,一旦不再小于24,即.到了24,它结束了.所以代码块执行了24次i = 0 to 23.

第2行:循环内部是一个单个语句,一个函数调用,一个被调用的函数setSquare,i每次都传递给它的值.

第3行:for循环的右括号.

所以总的来说,这段代码调用setSquare()函数24次,来自的值0 to 23.

什么setSquare()确实是没有看到的代码以及一个谜.

  • 该死的好故障.@zkidd - 你应该通过尝试在这里和那里写一些简单的东西来玩javascript.在开始编码之前,不要认为你应该尝试获得扎实的理解.试错是关键. (2认同)