这堂课是我们js入门第一阶段课程最后一堂课了。
下节课开始,我们开始学习jq。学习jq之前,我们先回顾一下,之前学的js相关知识。

下面我列出关键词,如果了解所有关键词相关内容就算过关。否则,再翻开之前的课程内容回顾并巩固一下。

关键词:

JavaScript,DOM,script标签,函数,变量,参数,事件,数据类型,字符串,数组,对象,Null,比较运算符,逻辑运算符,运算操作符,赋值操作符,if语句...

下面开始今天的内容:
 

for循环

循环可以将代码块执行指定的次数。如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
例如:

function count() {
    var n = 10,
        i;
    for (i = 0; i < n; i++) {
        console.log(i);
    }
}

执行函数后,会弹出一个窗口,窗口信息为0。
点击“确定”之后,继续弹出窗口,内容为1,一直到第10个窗口,内容为9。
大家可以试一下。
 
通过这个例子我们讲一下for循环的执行原理。
我们可以通过下面的表达式了解一下for循环各个部分的职责。

for(initializaiton; expression; post-loop-expression) statement

initialization的意思是,设定初值,初始化。首字母i,所以一般我们在循环语句里看到的i就是这个英文单词的首字母。
expression (条件)表达式。
post-loop-expression 提交-循环-语句。
statement 语句。
 
下面再来个中文语法:

for(初始设置; 条件表达式; 提交循环语句) {执行语句}

再看看这个例子:

function count() {
    var n = 10,
        i;
    for (i = 0; i < n; i++) {
        console.log(i);
    }
}

代码定义了变量n 初始值为10,还有一个变量i。
括号里,设置了i的初始值为0。当条件表达式(i<n)为true(真)的情况下,才会进入for循环,执行console.log(i)。
在本例中,第一次执行的时候,i=0,并且此时i<10,所以会执行console.log(i);弹出内容为0的窗口。 执行完后,i++,此刻的i变成1,而且依然是满足条件i<10,所以为执行console.log(i);弹出内容为1的窗口。 依次循环执行。 当i++累加到10的时候,由于i不满足i<10的条件,所以循环就会结束。  

示例集锦

例1:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i, len, text;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
    text += cars[i] + "
";
}

document.getElementById("demo").innerHTML = text;

输出的内容就是:

BMW
Volvo
Saab
Ford

本例中,括号里的条件表达式有两组,这个是可以的。js里目前规定,条件表达式必须少于5个。

补充知识点:

  • length属性可返回字符串中的字符数目。
    例如:
    var a = fuck;
    a.length 返回的值为4。
  • length属性可返回数组中项目的数量。
    例如:
    var a = [“共产党”,”民主党”];
    a.length 返回的值为2。
    a[0] 返回的是“共产党”。
    a[1] 返回的是“民族党”。

上面的例子,你也可以理解为:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i;
var len = cars.length;
var text = "";

for (i = 0; i < len; i++) {
    text += cars[i] + "
";
}

document.getElementById("demo").innerHTML = text;

这样是不是容易理解了?自己好好斟酌,研究一下写法。关键点就是,条件语句不要超过5组。
 

例2-for后面括号里的语句,也可以简写:
var cars = ["BMW", "Volvo", "Saab", "Ford"];

var i = 0;
var len = cars.length;
var text = "";

for (; i < len;) {
    text += cars[i] + "
";
    i++;
}
document.getElementById("demo").innerHTML = text;

由于i最先定义为0了,所以可以省略。
循环代码里,执行代码的最后有i++,就是执行完之后已经自加1了,所以。也可以省略。
 

例3-通过for循环,输出一组数字3 5 7 9 11 13 15 17 19 21 23 25
var text = "";
var i;
for (i = 3; i < 26; i+=2) {
    text += i + " ";
}
document.getElementById("demo").innerHTML = text;

初始值么,不一定是0 可以从任意数字算起。递增也可以不用i++,按照自己的需求可以赋值运算。
 

其它循环方式

除了for循环以外,还有do-while循环,while循环,for-in循环等等。不过这些跟for循环大同小异,当遇到的时候再学习也来得及。