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

标签 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);
        }

最佳答案

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

JavaScript 本身不一定是一种简单的语言,所以放轻松,您可以阅读一本初级编程入门书。

尝试按顺序逐行将您正在阅读的内容转换为英语。语法、符号和书写方式可能是造成混淆的主要原因,因为您不习惯它们。不习惯代数的人看到它会 panic ,大喊“我永远不会明白,你怎么读的?” - 随着时间的推移,您会习惯的。

使用这段简单的代码:

1 for (var i=0; i<24; i++) {
2    setSquare(i);
3 }

第 1 行:一个“for 循环”

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

第一个是初始化,开始条件,在本例中设置新变量 i0 , i=0 .

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

最后一部分是增量,无论最后一部分发生什么,每个列表都会发生一次。在这种情况下,在列表的末尾,在下一个循环之前。 i++表示递增 i一个,i = i + 1 的简写.

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

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

第 3 行:for 循环的右大括号。

总而言之,这段代码调用了 setSquare()函数 24 次,值来自 0 to 23 .

什么 setSquare()没有看到该代码也是一个谜。

关于javascript - 什么时候阅读/理解算法和编程逻辑应该变得不困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424626/

相关文章:

c# - C++ 和 .NET 是否在银行、医疗保健和电信等领域一起使用

javascript - Vanilla Web Component 自定义事件属性和属性

javascript - 在 fancybox 外添加自定义 html

javascript - 使用 mod 环绕

algorithm - 解决文字游戏 Ghost(如 xkcd 上所见)- 拼写字母而不造字

parsing - Bison 和语法 : replaying the parse stack

javascript - 无法调试卡在 firefox 扩展中的 $.post

python - 计算应添加的项数以获得所需的系列总和

python - 在python中按用户计算并发 session

if-statement - 写 `if (foobar == ("this"|| "that") )` to check if foobar is equal to "this"或 "that"是否支持任何主要语言?