摩西摩西,好的,我又来了,这次我带着我整理的学习资料一起来了,不过我自己也是一个小白,所以这真的只是一个笔记,如果你们有什么不认同的就当看看一个小白的学习经历好了,接下来上展示。(比我还小白的同学统称小小白哈)
基本数据类型
基本数据类型呢,只有六种,这个东西要好好理解,不然学到最后都不知道怎么判断自己写的到底是啥。
- 字符串(string)——
var str = " string " ;
- 数字/数值(number)——
var num = 123124 ;
- 布尔 (boolean)——
var boo = true 或 false ;
- 未定义赋值 (undefined)——
var und = undefined ;
- 空指针 (null)——
var uil = null ;
- 对象类型 (object)——
var obj = {
"name" = "小明" ,
"age" = "20" ,
"gender" = "male"
}
值类型:number , string , boolean , undefined , null
引用类型:object
(引用类型又有很多变体,数组就是一种特殊形式的object)
好的,基本数据类型的六种类型就如上,详细的呢我会单独写六个博客来做笔记,现在嘛,就只是为底下的循环做一个简单的介绍,免得小小白同学不知道我底下写的是啥子东西,嘿嘿。
循环
for循环
循环的话,是编程里的两大核心之一,另一个就是我们的条件了,条件的话emmmm,先不说条件,就说循环,咳咳。
我学了两个循环,一个for循环,还有一个简单的while循环,先说for循环吧。
先给一个赋值
var str = " Hello world! "
然后我们开始循环
for(var i = 0; i < str.length; i = i + 1){}
好,这时候就有小小白了,这for后面的小括号和大括号里的东西是什么了,来来来,咱们慢慢的说。
首先说小括号里的(var i = 0; i < str.length; i = i + 1)
for循环中的小括号呢是用来放置三个语句的,是哪三个语句呢,就是我们以后要常接触的初始化语句,循环条件语句 和 后置执行语句
那么大括号里呢则是放置我们的循环体代码,循环体代码是什么就不用我再解释了吧(其实自己也没听的太仔细)。
length表示的是str这个字符串的长度,意义同等与字符个数,不过是从0开始的。
咳咳,好的,我们继续,那么这个for语句如何运作的呢,如下:
- 执行第一步!初始化语句,有且只执行一次;
- 执行第二步!循环条件语句,循环条件返回为真,则执行我们的循环体代码;如若循环条件返回为假,则退出该循环体代码(我们老师教我们的是退出该循环体代码,不过我觉得是退出循环了,我也不知道怎么说,先就这么写吧)。那么就有小小白问了不看计算机打印的,怎么判断真假呢?(我上去就是一巴掌,计较这么多干哈!)那么就请看我们的赋值咯,如果你的循环条件语句和我们所赋的值成立条件,则为真,反之为假。(懂了咩?!介都要说,哎~)
- 执行第三步!如果第二步为真,循环体代码执行完毕之后再去执行后置语句。
- 执行第四步!第三步完成之后返回第二步循环执行。
嘛,还是放个图片上来吧,怕小小白们看不清楚
这下够清楚了吧,不过这个图片简陋的我自己都看不下去了,害…
咱们继续!
for循环中小括号里的三个语句可以不写在小括号里!
不过有缺陷就是的了
比如呢:
for(var i = 0; i < str.length; i = i + 1){
console.log( str [ i ] )
}
好,这里说下console.log( str [ i ] )是什么,就是将我们想要的数据在我们的浏览器开发者工具的工作台里打印出来,嗯,我是这么理解的,hiahiahia~~
上面的代码呢,把小括号里的语句拿出来就是这样写的:
var i = 0;
for( ; ; ){
console.log( str [ i ] );
i = i + 1;
}
简单的说呢,里面的语句可以不写,但是分号必须写,然而呢,这样写有一个坏处,就是你不知道你的循环条件语句。这样导致浏览器会一直判定你的条件为真,然后一直循环,知道你的浏览器崩溃,不过可以用if语句跳出循环,if语句以后再说啦。所以,在不使用if语句的情况呢,就咱们这所学,还是老老实实的把循环条件语句写上吧。
然后呢,这里说两个语句break和continue。
break:终止语句——终止当前流程。
continue:跳过语句——跳过本次循环进入下一次循环。
简单的写两个小案例:
var str = "Hello World!"
for (var i = 0; i < str.length; i = i + 1){
if(str [ i ] === "o"){
continue;
}
console.log(str [ i ]);
}
好叭,这里还是用到了if语句,那我就简单讲讲吧,其实就是本身的意思——如果。没错就是你想的那个意思,如果怎么怎么样就输出什么,然后反之怎么怎么样。哎呀,先将就着理解这个意思,我们看案例。
这个案例的意思就是给str赋值Hello World!。
然后在循环里给i赋值0,i的循环条件为i < str.length.
后置执行语句为i = i + 1。
开始循环,如果i的值等于字母o时,则跳过本次循环,开始下一次循环。
则打印的结果就是除了字母o以外都打印出来了
var i = 0;
for (; ; ) {
console.log(str[i]);
i = i + 1;
if(i === 12){
break;
}
}
而这个语句呢,则是用到了我刚才说的,小括号里不写语句,大致意思就和上面的案例很像,不过就是变成了,如果i等于12的时候终止当前流程,只打印到当前为止的值。
然后就是我们的重点了,一个需要思考一下的逻辑语句,for循环的嵌套!
这个我们就直接上案例:
// var class1 = [99, 32, 80, 78, 100, 2.5];
// var class2 = [0, 100, 100, 100, 100, -5];
// var class3 = [0, 0, 0, 100, 95, 60];
var classes = [
[99, 32, 80, 78, 100, 2.5],
[0, 100, 100, 100, 100, -5],
[0, 0, 0, 100, 95, 60]
]
for (var i = 0; i < classes.length; i = i + 1){
for (var j = 0; j < classes[i].length; j = j + 1){
var result = "第" + (i + 1) + "班,第" + (j + 1) + "位学生的成绩:" + (classes[i])[j];
console.log(result);
}
}
嗯,在JS代码中//代表单行注释,/**/表示多行注释
好,这个案例呢,估计就有小小白看不懂了,其实很简单class1,2,3都赋值了一组数组,然而数组也可以进行多重集合,组成一个新的由数组组成的数组(我们称之为二维数组)(很绕吧,哈哈哈),并将它赋值给classes。
然后底下的for循环呢,是不是看到了两个?这就对了,这就是for循环的嵌套,在for循环里再写for循环。循环下来后呢i表示的呢是classes里的三个数组,j表示的是三个数组里的数值。
然后我们打印,打印的则是为我们给result赋值的样子(这个死记硬背就好了,字符用引号,然后字符与字符之间用加号),就是第几班第几位的分数,就像这样
是不是一清二楚了哇?啧啧啧,我发现我的笔记记的真清楚(臭不要脸!)
while循环
相比较于for循环来说,while循环就简单多了,简单到只有两个步骤就可以完成while循环。
判断条件,为真则执行循环体,反之则退出次循环体,完事…
真的,我前几天学的时候我还一脸懵逼,我还以为和for循环一样有很多弯弯绕绕的,加个嵌套什么,结果就这???
好叭好叭,while循环长这样
var i = 0;
while (i < 5) {
console.log(i);
}
这样写,我保证你电脑浏览器能崩溃,嘿嘿,这波你 i = 0;条件永远为真,一直循环到死,所以你得在大括号里加一个 i = i + 1;哈哈哈哈,咳咳,玩笑玩笑,加成这样
var i = i + 1;
while (i < 5) {
console.log(i);
i = i + 1;
}
这样就可以了,然后我们还有一个形式的while循环叫do-while;
长这样:
do {
console.log(i);
i = i + 1;
} while(i < 5);
while循环是不是很简单?while里的小括号只放置条件。第一种while循环是先判断,再执行循环体,而第二种do-while循环是需要以结果为先决条件的时候才用,就相当于是先做一次得到结果后再判断条件来循环。
啊哈哈哈哈,真佩服我自己,嘛,简单的写了写循环的笔记,小小白们你们看着好好学,好好记,至于大佬们的话嘛…就当看笑话了,咳咳,毕竟我只是一个小白,咱聊聊天也是好滴嘛,哈哈哈,就这样了,掰掰~