我学习了一个半星期的 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 个设置(参数)控制循环。
第一个是初始化,开始条件,在本例中设置新变量 i
至 0
, 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/